pthreads Pool::submitTo
(PECL pthreads >= 2.0.0)
Pool::submitTo — 실행을 위해 특정 작업자에게 작업 제출
설명
public Pool::submitTo(int $worker
, Threaded $task
): int
풀의 지정된 worker에게 작업을 제출합니다. worker는 0부터 인덱싱되며 풀이 생성에 필요한 경우에만 존재합니다(스레드가 느리게 생성되기 때문에).
매개변수
worker
- 0부터 인덱싱된 작업을 쌓을 worker입니다.
task
- The task for execution.
반환 값
작업을 수락한 worker의 식별자입니다.
Examples
예제 #1 Submitting tasks to a specific worker
<?php
class Task extends Threaded {
public function run() {
var_dump(Thread::getCurrentThreadID());
}
}
$pool = new Pool(2);
$pool->submit(new Task());
for ($i = 0; $i < 5; ++$i) {
$pool->submitTo(0, new Task()); // stack all tasks onto the first worker
}
$pool->submitTo(1, new Task()); // cannot stack the task onto the second worker due to it not existing yet
$pool->shutdown();
위의 예는 다음을 출력합니다.
int(4475011072) int(4475011072) int(4475011072) int(4475011072) int(4475011072) int(4475011072) Fatal error: Uncaught Exception: The selected worker (1) does not exist in %s:%d