Отправляет задачу конкретному воркеру для выполнения

# Pool::submitTo

(PECL pthreads >= 2.0.0)

Pool::submitTo — Отправляет задачу конкретному воркеру для выполнения

### Описание

public function Pool::submitTo(int `$worker`, Threaded `$task`): int

Отправляет задачу указанному воркеру в пуле. Воркеры индексируются с 0 и будут существовать только в том случае, если пулу необходимо их создать (поскольку потоки создаются лениво).

### Список параметров

`worker`
  Воркер, в который нужно добавить задание, начиная с `0`.
`task`
  Задание для выполнения

### Возвращаемые значения

Идентификатор воркера, принявшего задачу.

### Примеры

Пример #1 Отправка задач конкретному воркеру

    <?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()); // добавление всех заданий первому воркеру
    }

    $pool->submitTo(1, new Task()); // не может добавить задачу второму воркеру, потому что его ещё не существует

    $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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open