(PECL pthreads >= 2.0.0)
Pool::submitTo — Submits an object for execution
Submit the object to the specified Worker in the Pool
worker
The worker for execution
task
The task for execution
the identifier of the Worker that accepted the object
例1 Submitting Tasks
<?php
class MyWork extends Threaded {
public function run() {
/* ... */
}
}
class MyWorker extends Worker {
public function __construct(Something $something) {
$this->something = $something;
}
public function run() {
/** ... **/
}
}
$pool = new Pool(8, \MyWorker::class, [new Something()]);
$pool->submit(new MyWork());
var_dump($pool);
?>
上の例の出力は以下となります。
object(Pool)#1 (6) { ["size":protected]=> int(8) ["class":protected]=> string(8) "MyWorker" ["workers":protected]=> array(1) { [0]=> object(MyWorker)#4 (1) { ["something"]=> object(Something)#5 (0) { } } } ["work":protected]=> array(1) { [0]=> object(MyWork)#3 (1) { ["worker"]=> object(MyWorker)#5 (1) { ["something"]=> object(Something)#6 (0) { } } } } ["ctor":protected]=> array(1) { [0]=> object(Something)#2 (0) { } } ["last":protected]=> int(1) }