©
This document uses PHP Chinese website manual Release
(PECL pthreads >= 2.0.0)
Pool::submit — 提交对象以执行
$task
)将任务提交到 Pool 中的下一个 Worker 对象
task
要执行的任务
执行新加入对象的 Worker 对象ID
Example #1 提交任务
<?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) }