« Pool::collect
Pool::resize »

Pool::__construct

(PECL pthreads >= 2.0.0)

Pool::__construct — Creates a new Pool of Workers

説明

public function 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.

パラメータ

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

例

例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);
?>

上の例の出力は以下となります。

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)
}
関連キーワード:
Pool   protected   Workers   construct   pool   workers   Creates   size   ctor   MyWorker   Something   something   Pools   create   threads   Worker   collect   resize   pthreads   Construct   lazily   their   means   spawned   they
関連する関数・ページ:
class.pool   pool.submit   pool.resize   pool.shutdown   pool.collect   pool.submitTo