# Pool::__construct

(PECL pthreads >= 2.0.0)

Pool::__construct — Creates a new Pool of Workers

### Beschreibung

public Pool::__construct(int `$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.

### Parameter-Liste

`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

### Beispiele

Beispiel #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);
?>`

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    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)
    }

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open