略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: Pool::submit

2024-11-14

Pool::submit

(PECL pthreads >= 2.0.0)

Pool::submit提交对象以执行

说明

public Pool::submit(Threaded $task): int

将任务提交到 Pool 中的下一个 Worker 对象

参数

task

要执行的任务

返回值

执行新加入对象的 Worker 对象 ID

范例

示例 #1 提交任务

<?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 noteadd a note

User Contributed Notes

There are no user contributed notes for this page.

官方地址:https://www.php.net/manual/en/pool.submit.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3