Pool::__construct
(PECL pthreads >= 2.0.0)
Pool::__construct — Creates a new Pool of Workers
Description
$size
, string $class
= ?, array $ctor
= ?)Construct a new pool of workers. Pools lazily create their threads, which means new threads will only be spawned when they are required to execute tasks.
Parameters
-
size
-
The maximum number of workers for this pool to create
-
class
-
The class for new Workers. If no class is given, then it defaults to the Worker class.
-
ctor
-
An array of arguments to be passed to new workers' constructors
Examples
Example #1 Creating Pools
<?php
class MyWorker extends Worker {
public function __construct(Something $something) {
$this->something = $something;
}
public function run() {
/** ... **/
}
}
$pool = new Pool(8, \MyWorker::class, [new Something()]);
var_dump($pool);
?>
The above example will output:
object(Pool)#1 (6) { ["size":protected]=> int(8) ["class":protected]=> string(8) "MyWorker" ["workers":protected]=> NULL ["work":protected]=> NULL ["ctor":protected]=> array(1) { [0]=> object(Something)#2 (0) { } } ["last":protected]=> int(0) }