Pool
PHP Manual

Pool::submitTo

(PECL pthreads >= 2.0.0)

Pool::submitToSubmits an object for execution

Descripción

public integer Pool::submitTo ( integer $worker , Threaded $task )

Submit the object to the specified Worker in the Pool

Parámetros

worker

The worker for execution

task

The task for execution

Valores devueltos

the identifier of the Worker that accepted the object

Ejemplos

Ejemplo #1 Submitting Tasks

<?php
class MyWork extends Threaded {
    
    public function 
run() {
        
/* ... */
    
}
}

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());
var_dump($pool);
?>

El resultado del ejemplo sería:

object(Pool)#1 (6) {
  ["size":protected]=>
  int(8)
  ["class":protected]=>
  string(8) "MyWorker"
  ["workers":protected]=>
  array(1) {
    [0]=>
    object(MyWorker)#4 (1) {
      ["something"]=>
      object(Something)#5 (0) {
      }
    }
  }
  ["work":protected]=>
  array(1) {
    [0]=>
    object(MyWork)#3 (1) {
      ["worker"]=>
      object(MyWorker)#5 (1) {
        ["something"]=>
        object(Something)#6 (0) {
        }
      }
    }
  }
  ["ctor":protected]=>
  array(1) {
    [0]=>
    object(Something)#2 (0) {
    }
  }
  ["last":protected]=>
  int(1)
}


Pool
PHP Manual