START() | Начать задачу. |
TASKGETMSG() | Прочитать полученное сообщение. |
TASKID() | Возвращает идентификатор задания. |
TASKPEEKMSG() | Прочитать полученное сообщение. |
TASKSENDMSG() | Отправить сообщение заданию. |
TASKSTART() | Возобновить все задания, которые были остановлены. |
TASKSTOP() | Остановить все задания, за исключением текущего. |
START(<vTask>, [<vPar1>,,, <vParN>]) --> <nTaskID>
Возвращает числовое значение - идентификатор задания.
START() запускает задачу в параллельном режиме и передает ей параметры <vPar1>,,, <vParN>
ts := @task2() ... ? START("task1", "Ann", "Jhon", "Mary") ... ? START(ts, 200, 100) ... ? START({|p1, p2| qout("Start code block"), ..., qout("Code block finished")}) ... function task1(a, b, c) qout('Start task1') ... qout('task1 finished') return .T. static function task2(x, y) qout('Start task2') ... qout('task2 finished') return
Не зависит от платформ
TASKGETMSG() --> <vMsg>
No arguments
Возвращает полученные данные, что были отправлены функцией TASKSENDMSG().
TASKGETMSG() читает сообщение из входной очереди задания и возвращает его. Если в очереди нет сообщений - ожидает бесконечно.
static id id := START("func1") for i:=1 to 10 TASKSENDMSG(id, time()) sleep(i) next .... function func1() do while .T. ? "task got: ", TASKGETMSG() enddo return
Не зависит от платформ
TASKID() --> <nTaskID>
No arguments
Возвращает идентификатор задания как числовое значение.
TASKID() возвращает идентификатор текущего задания <nTaskID> как числовое значение.
TASKSTOP() ? TASKID() TASKSTART()
Не зависит от платформ
TASKPEEKMSG() --> <vMsg>
No arguments
Возвращает полученные данные, что были отправлены функцией TASKSENDMSG().
TASKPEEKMSG() читает сообщение из входной очереди задания и возвращает его. Если в очереди нет сообщений - немедленно возвращает NIL.
static id id := START("func1") for i:=1 to 10 TASKSENDMSG(id, time()) sleep(i) next .... function func1() do while .T. ? "task got: ", TASKPEEKMSG() enddo return
Не зависит от платформ
TASKSENDMSG(<nReceiverID>, <vMsg>[, <lWait>]) --> <lResult>
Возвращает логическое значение <lResult>, TRUE если сообщение было доставлено.
TASKSENDMSG() отправляет значение <vMsg> заданию с идентификатором <nReceiverID> и возвращает TRUE, если операция завершилась успешно.
static id id := START("func1") for i:=1 to 10 TASKSENDMSG(id, time()) sleep(i) next .... function func1() do while .T. ? "task got: ", TASKGETMSG() enddo return
Не зависит от платформ
TASKSTART() --> NIL
No arguments
Возвращает NIL.
TASKSTART() возобновляет все задания, которые были остановлены функцией TASKSTOP().
function Task_stop() TASKSTOP() .... return .... Task_stop() TASKSTART()
Не зависит от платформ
TASKSTOP() --> NIL
No arguments
Возвращает NIL.
TASKSTOP() останавливает все задания, за исключением текущего.
function Task_stop() TASKSTOP() .... return
Не зависит от платформ
Пред. | Начало | След. |
SERIAL I/O | Уровень выше | CODEBLOCK |