function task() { $tid = (yield getTaskId()); $childTid = (yield newTask(childTask())); for ($i = 1; $i <= 6; ++$i) { echo "parent task {$tid} iteration {$i}.\n"; yield; if ($i == 3) { (yield killTask($childTid)); } } }
function parentTask() { $tid = (yield getTaskId()); $childTid = (yield newTask(childTask())); for ($i = 1; $i <= 6; $i++) { echo "Parent task {$tid} iteration {$i}.<br>"; yield; if ($i == 3) { echo "Parent sending message to kill child task.<br>"; (yield killTask($childTid)); } } }
function task($max) { $tid = (yield getTaskId()); // <-- here's the syscall! for ($i = 1; $i <= $max; ++$i) { echo "This is task {$tid} iteration {$i}.\n"; yield; } }
public function run() { $value = (yield getTaskId()); $this->context->set('taskId', $value); (yield 'SysCall.GetTastId'); }