-
Notifications
You must be signed in to change notification settings - Fork 859
Expand file tree
/
Copy pathsubmitTo.xml
More file actions
114 lines (103 loc) · 2.78 KB
/
submitTo.xml
File metadata and controls
114 lines (103 loc) · 2.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="pool.submitTo">
<refnamediv>
<refname>Pool::submitTo</refname>
<refpurpose>Submits a task to a specific worker for execution</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>int</type><methodname>Pool::submitTo</methodname>
<methodparam><type>int</type><parameter>worker</parameter></methodparam>
<methodparam><type>Threaded</type><parameter>task</parameter></methodparam>
</methodsynopsis>
<simpara>
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).
</simpara>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>worker</parameter></term>
<listitem>
<simpara>
The worker to stack the task onto, indexed from <literal>0</literal>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>task</parameter></term>
<listitem>
<simpara>
The task for execution.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<simpara>
The identifier of the worker that accepted the task.
</simpara>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Submitting tasks to a specific worker</title>
<programlisting role="php">
<![CDATA[
<?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();
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
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
]]>
</screen>
</example>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->