首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pool::submitTo

(PECL pthreads >= 2.0.0)

Pool::submitTo — Submits a task to a specific worker for execution

Description

代码语言:javascript
复制
public int Pool::submitTo ( int $worker , Threaded $task )

Submit a task to the specified worker in the pool. The workers are indexed from 0, and will only exist if the pool has needed to create them (since threads are lazily spawned).

Parameters

worker

The worker to stack the task onto, indexed from 0.

task

The task for execution.

Return Values

The identifier of the worker that accepted the task.

Examples

Example #1 Submitting tasks to a specific worker

代码语言:javascript
复制
<?php
class?Task?extends?Threaded?{
????public?function?run()?{
????????var_dump(Thread::getCurrentThreadID());
????}
}

$pool?=?new?Pool(2);

$pool->submit(new?Task());

for?($i?=?0;?$i?<?5;?++$i)?{
????$pool->submitTo(0,?new?Task());?//?stack?all?tasks?onto?the?first?worker
}

$pool->submitTo(1,?new?Task());?//?cannot?stack?the?task?onto?the?second?worker?due?to?it?not?existing?yet

$pool->shutdown();

The above example will output:

代码语言:javascript
复制
int(4475011072)
int(4475011072)
int(4475011072)
int(4475011072)
int(4475011072)
int(4475011072)

Fatal error: Uncaught Exception: The selected worker (1) does not exist in %s:%d

← Pool::submit

Mutex →

代码语言:txt
复制
 ? 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com