Submits an object for execution


(PECL pthreads >= 2.0.0)

Pool::submitSubmits an object for execution

Описание

public integer Pool::submit ( Threaded $task )

Submit the task to the next Worker in the Pool

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

size

The task for execution

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

the identifier of the Worker executing 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) }