Pool::submitTo

(PECL pthreads >= 2.0.0)

Pool::submitToSubmits an object for execution

說明

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

Submit the object to the specified Worker in the Pool

參數

worker

The worker for execution

size

The task for execution

回傳值

the identifier of the Worker that accepted the object

範例

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

上例將輸出:

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

add a note add a note

User Contributed Notes

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