PHP - Funzione Pool :: collect ()
La funzione Pool :: collect () può raccogliere riferimenti ad attività completate.
Sintassi
public int Pool::collect([ Callable $collector ] )
La funzione Pool :: collect () può consentire a un pool di raccogliere riferimenti determinati come garbage da un collector fornito opzionalmente.
La funzione Pool :: collect () può restituire il numero di attività rimanenti in un pool da raccogliere.
Esempio
<?php
class MyWork extends Stackable {
public function __construct() {
$this->complete = false;
}
public function run() {
printf("Hello from %s in Thread #%lu\n", __CLASS__, $this->worker->getThreadId());
$this->complete = true;
}
public function isComplete() {
return $this->complete;
}
protected $complete;
}
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());
usleep(1000);
$pool->collect(function($work){
return $work->isComplete();
});
var_dump($pool);
?>