SymfonyWorld Online 2022 Winter Edition

Pool::__construct

(PECL pthreads >= 2.0.0)

Pool::__constructCreates 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)
}

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top