mirror of
https://github.com/php/doc-ja.git
synced 2026-03-23 22:52:11 +01:00
pthreads : fix XML by converting para to simpara tags via script
This commit is contained in:
@@ -1,19 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 12424df3c8140290d9e5c4912cbdb260aae055f4 Maintainer: takagi Status: ready -->
|
||||
<!-- EN-Revision: bf92d8bd839301de7c837d20ab1dac6c14f83bbf Maintainer: takagi Status: ready -->
|
||||
<!-- Credits: mumumu -->
|
||||
|
||||
<book xml:id="book.pthreads" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<book xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="book.pthreads">
|
||||
<?phpdoc extension-membership="pecl" ?>
|
||||
<title>pthreads</title>
|
||||
<titleabbrev>pthreads</titleabbrev>
|
||||
|
||||
<preface xml:id="intro.pthreads">
|
||||
&reftitle.intro;
|
||||
<para>
|
||||
<simpara>
|
||||
pthreads はオブジェクト指向の API で、PHP でマルチスレッド処理を行うのに必要なすべてのツールを提供します。
|
||||
PHP アプリケーションで、Thread や Worker そして Threaded を作ったり読み書きしたり実行したりできるようになります。
|
||||
</para>
|
||||
</simpara>
|
||||
<warning>
|
||||
<simpara>
|
||||
この拡張モジュールはメンテナンスされておらず、終了していると考えられます。
|
||||
@@ -25,22 +24,22 @@
|
||||
</simpara>
|
||||
</tip>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
pthreads 拡張モジュールは、Webサーバー環境では使えません。
|
||||
よって、PHP でのスレッド処理は CLIベースのアプリケーションに限られています。
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
ptheads (v3) は PHP 7.2+ で使えます。
|
||||
これは ZTS モードが 7.0 と 7.1 では安全でないためです。
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
<para>
|
||||
<simpara>
|
||||
<classname>Threaded</classname> クラスが、pthreads が実行できる機能のもとになります。
|
||||
このクラスは同期のメソッドとプログラマにとって便利なインタフェイスをいくつか公開しています。
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
<classname>Thread</classname> クラスと使うと、
|
||||
それを継承し、<literal>run</literal> メソッドを実装するだけでスレッドを作れます。
|
||||
あらゆるメンバにスレッドの参照を使ってあらゆるコンテキストで読み書きができます。
|
||||
@@ -48,8 +47,8 @@
|
||||
run メソッドは、この実装オブジェクトが作られたスレッドとは別の、
|
||||
<methodname>Thread::start</methodname> が呼ばれたスレッドで実行されます。
|
||||
スレッドを作ったコンテキストだけが、スレッドの start や join を行えます。
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
<classname>Worker</classname> クラスは永続的な状態を保持し、
|
||||
<methodname>Thread::start</methodname> (またはそれを継承したメソッド) を呼んだ時点から
|
||||
オブジェクトがスコープ外に消えるまで、
|
||||
@@ -59,42 +58,42 @@
|
||||
これを、Worker が別スレッドで実行します。
|
||||
Worker の <literal>run</literal> メソッドは、あらゆるオブジェクトがスタックに積まれる前に実行されます。
|
||||
そのため、オブジェクトで必要となるリソースの初期化に使えます。
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
<classname>Pool</classname> クラスを使って、
|
||||
<classname>Threaded</classname> オブジェクトを分散させるワーカークラスのグループを作ることができます。
|
||||
複数スレッドを扱う際に最も簡単かつ効率的な方法です。
|
||||
</para>
|
||||
</simpara>
|
||||
<caution>
|
||||
<para>
|
||||
<simpara>
|
||||
<classname>Pool</classname> クラスは <classname>Threaded</classname> クラスを継承していません。
|
||||
そして、Pool ベースのオブジェクトは通常の PHP オブジェクトです。
|
||||
よって、そのインスタンスをコンテキスト間で共有してはいけません。
|
||||
</para>
|
||||
</simpara>
|
||||
</caution>
|
||||
<para>
|
||||
<simpara>
|
||||
<classname>Volatile</classname> は pthreads v3 で登場した新しいクラスです。
|
||||
これは <classname>Threaded</classname> クラスのプロパティを変更可能にするために使います
|
||||
(なぜなら、これらはデフォルトでは変更できないからです)
|
||||
PHP の配列を <classname>Threaded</classname> コンテキストに保存する目的でも使えます。
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
同期はスレッドを扱う際に重要な機能です。
|
||||
pthreads が作る全てのオブジェクトには (Java プログラマーならおなじみの)
|
||||
<methodname>Threaded::wait</methodname> と
|
||||
<methodname>Threaded::notify</methodname> による同期処理が組み込まれています。
|
||||
あるオブジェクトの <methodname>Threaded::wait</methodname> を呼ぶと、
|
||||
別のコンテキストから同じオブジェクトの <methodname>Threaded::notify</methodname>
|
||||
別のコンテキストから同じオブジェクトの <methodname>Threaded::notify</methodname>
|
||||
が呼ばれるのを待つようになります。
|
||||
これを使えば、PHP 内のスレッド化されたオブジェクト (<classname>Threaded</classname> Object)
|
||||
どうしで強力な同期処理ができるようになります。
|
||||
</para>
|
||||
</simpara>
|
||||
<caution>
|
||||
<para>
|
||||
<simpara>
|
||||
マルチスレッドで実行されるあらゆるオブジェクトは <classname>Threaded</classname> を継承すべきです。
|
||||
</para>
|
||||
</simpara>
|
||||
</caution>
|
||||
<para>
|
||||
<simpara>
|
||||
データストレージ:
|
||||
目安として、シリアライズ可能なデータ型なら何でも、スレッド化されたオブジェクトのメンバーとして使えます。
|
||||
そのオブジェクトへの参照を持つあらゆるコンテキストから、メンバーの読み書きができます。
|
||||
@@ -106,8 +105,8 @@
|
||||
そのスレッド化されたオブジェクト内の参照とは区別されます。
|
||||
同じデータを、いつでもどのコンテキストからでも、
|
||||
スレッド化されたオブジェクトから直接読み込めます。
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
static メンバー:
|
||||
新しいコンテキスト (Thread あるいは Worker) を作るときには、一般的にそれらはコピーされます。
|
||||
しかし、リソースおよび内部状態を持つオブジェクトは、安全性を考慮して null 化されます。
|
||||
@@ -116,29 +115,29 @@
|
||||
コンテキストを開始するときには接続情報だけがコピーされ、接続自体はコピーされません。
|
||||
新しいコンテキスト上ではそのコンテキストを作ったオブジェクトと同じ方法で接続を立ち上げることができ、
|
||||
その接続を同じ場所に格納しても元のコンテキストには何も影響を及ぼしません。
|
||||
</para>
|
||||
</simpara>
|
||||
<caution>
|
||||
<para>
|
||||
<simpara>
|
||||
print_r や var_dump などのオブジェクトのデバッグ用関数を実行するきには、
|
||||
再帰の制限が含まれません。
|
||||
</para>
|
||||
</simpara>
|
||||
</caution>
|
||||
<note>
|
||||
<para>
|
||||
<simpara>
|
||||
リソース:
|
||||
PHP のリソースを定義している拡張モジュールは、この手の環境で扱うには不十分です。
|
||||
pthreads はリソースをコンテキスト間で共有するための対策を用意していますが、
|
||||
大半のリソース型は安全には扱えません。
|
||||
コンテキスト間でリソースを共有するときには、いくら注意してもしすぎることはありません。
|
||||
</para>
|
||||
</simpara>
|
||||
</note>
|
||||
<caution>
|
||||
<para>
|
||||
<simpara>
|
||||
pthreads を実行する環境下では、安定した環境を提供するためにいくつかの制約と限界があります。
|
||||
</para>
|
||||
</simpara>
|
||||
</caution>
|
||||
</preface>
|
||||
|
||||
|
||||
&reference.pthreads.setup;
|
||||
&reference.pthreads.constants;
|
||||
&reference.pthreads.threaded;
|
||||
@@ -149,7 +148,6 @@
|
||||
&reference.pthreads.volatile;
|
||||
|
||||
</book>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,26 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 637c29c81a694e3e9f1d6293bd7af230050e5499 Maintainer: takagi Status: ready -->
|
||||
|
||||
<section xml:id="pthreads.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: bf92d8bd839301de7c837d20ab1dac6c14f83bbf Maintainer: takagi Status: ready -->
|
||||
<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="pthreads.installation">
|
||||
&reftitle.install;
|
||||
|
||||
<para>
|
||||
<simpara>
|
||||
PHP のコンパイル時に <option role="configure">--enable-maintainer-zts</option> を指定します。
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
<para>
|
||||
<simpara>
|
||||
Windows ユーザーは、&php.ini; で <filename>php_pthreads.dll</filename> を指定しなければいけません。
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
<note>
|
||||
<para>
|
||||
<simpara>
|
||||
また、Windows ユーザーは <filename>pthreadVC2.dll</filename> にパスを通しておく必要があります。このファイルは、配布物に含まれています。
|
||||
</para>
|
||||
</simpara>
|
||||
</note>
|
||||
|
||||
</section>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,53 +1,51 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 9a157412627e3f6dbadd76daaf20fb4011393a10 Maintainer: takagi Status: ready -->
|
||||
|
||||
<chapter xml:id="pthreads.setup" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: bf92d8bd839301de7c837d20ab1dac6c14f83bbf Maintainer: takagi Status: ready -->
|
||||
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="pthreads.setup">
|
||||
&reftitle.setup;
|
||||
|
||||
<section xml:id="pthreads.requirements">
|
||||
&reftitle.required;
|
||||
<para>
|
||||
<simpara>
|
||||
pthreads を使うには、ビルド時に ZTS (Zend Thread Safety) を有効
|
||||
(<option role="configure">--enable-zts</option> を指定。
|
||||
PHP 8.0.0 より前のバージョン、かつ Windows 以外のバージョンの場合は、
|
||||
<option role="configure">--enable-maintainer-zts</option> を指定)
|
||||
にする必要があります。
|
||||
</para>
|
||||
</simpara>
|
||||
<caution>
|
||||
<para>
|
||||
<simpara>
|
||||
ZTS はビルド時の設定オプションです。ビルドした後で変更することはできません。
|
||||
</para>
|
||||
</simpara>
|
||||
</caution>
|
||||
<para>
|
||||
<simpara>
|
||||
pthreads は、Posix スレッドのヘッダファイル (pthread.h) と ZTS 版の PHP があればどこでもビルドできます。
|
||||
Windows でもビルド可能で、その際には redhat の pthread-w32 プロジェクトを利用します。
|
||||
</para>
|
||||
</simpara>
|
||||
</section>
|
||||
|
||||
<section xml:id="pthreads.installation">
|
||||
&reftitle.install;
|
||||
<para>
|
||||
<simpara>
|
||||
pthreads のリリースは PECL でホストされており、ソースコードは
|
||||
<link xlink:href="&url.git.hub;krakjoe/pthreads">github</link> にあります。
|
||||
最も簡単なインストール方法は、PECL の
|
||||
<link xlink:href="&url.pecl.package;pthreads">&url.pecl.package;pthreads</link>
|
||||
からのインストールです。
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Windows ユーザー用のビルド済みバイナリは、<link xlink:href="&url.pecl.package;pthreads">PECL</link>
|
||||
のウェブサイトからダウンロードできます。
|
||||
</para>
|
||||
</simpara>
|
||||
<caution>
|
||||
<para>
|
||||
<simpara>
|
||||
Windows ユーザーはさらに、pthreadVC2.dll (Windows 版のリリースに含まれています)
|
||||
をパスの通った場所に置くという作業も必要です。
|
||||
</para>
|
||||
</simpara>
|
||||
</caution>
|
||||
</section>
|
||||
|
||||
</chapter>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 0cb49637af4083b525809ce60057d24bc559437f Maintainer: takagi Status: ready -->
|
||||
|
||||
<reference xml:id="class.thread" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<!-- EN-Revision: bf92d8bd839301de7c837d20ab1dac6c14f83bbf Maintainer: takagi Status: ready -->
|
||||
<reference xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="class.thread" role="class">
|
||||
|
||||
<title>Thread クラス</title>
|
||||
<titleabbrev>Thread</titleabbrev>
|
||||
@@ -12,17 +11,17 @@
|
||||
<!-- {{{ Thread intro -->
|
||||
<section xml:id="thread.intro">
|
||||
&reftitle.intro;
|
||||
<para>
|
||||
<simpara>
|
||||
このオブジェクトの start メソッドが呼ばれると、run メソッドのコードが個別のスレッドで並列処理されます。
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
run メソッドの実行後は Thread はすぐに終了し、作成元のスレッドに適切な時期に join します。
|
||||
</para>
|
||||
</simpara>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Thread をいつ join させるのかをエンジンに決めさせていると、予期せぬ振る舞いを引き起こすことがあります。
|
||||
可能な限り、プログラマーが明示的に指定するようにしましょう。
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</section>
|
||||
<!-- }}} -->
|
||||
@@ -39,12 +38,12 @@
|
||||
<ooclass>
|
||||
<classname>Thread</classname>
|
||||
</ooclass>
|
||||
|
||||
|
||||
<ooclass>
|
||||
<modifier>extends</modifier>
|
||||
<classname>Threaded</classname>
|
||||
</ooclass>
|
||||
|
||||
|
||||
<oointerface>
|
||||
<interfacename>Countable</interfacename>
|
||||
</oointerface>
|
||||
@@ -52,18 +51,18 @@
|
||||
<oointerface>
|
||||
<interfacename>Traversable</interfacename>
|
||||
</oointerface>
|
||||
|
||||
|
||||
<oointerface>
|
||||
<interfacename>ArrayAccess</interfacename>
|
||||
</oointerface>
|
||||
</classsynopsisinfo>
|
||||
<!-- }}} -->
|
||||
|
||||
|
||||
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.thread')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])" />
|
||||
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.thread')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])"/>
|
||||
|
||||
<classsynopsisinfo role="comment">&InheritedMethods;</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.threaded')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])" />
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.threaded')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])"/>
|
||||
|
||||
</classsynopsis>
|
||||
<!-- }}} -->
|
||||
@@ -75,7 +74,6 @@
|
||||
&reference.pthreads.entities.thread;
|
||||
|
||||
</reference>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1f3517218031b663f773061056a873cf2a03f32d Maintainer: takagi Status: ready -->
|
||||
<!-- EN-Revision: bf92d8bd839301de7c837d20ab1dac6c14f83bbf Maintainer: takagi Status: ready -->
|
||||
<!-- Credits: mumumu -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="thread.getcreatorid">
|
||||
<refnamediv>
|
||||
@@ -14,9 +14,9 @@
|
||||
<modifier>public</modifier> <type>int</type><methodname>Thread::getCreatorId</methodname>
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
このスレッドを作ったスレッドの ID を返します。
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="parameters">
|
||||
@@ -26,9 +26,9 @@
|
||||
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
<simpara>
|
||||
数値の ID を返します。
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1f3517218031b663f773061056a873cf2a03f32d Maintainer: takagi Status: ready -->
|
||||
<!-- EN-Revision: bf92d8bd839301de7c837d20ab1dac6c14f83bbf Maintainer: takagi Status: ready -->
|
||||
<!-- Credits: mumumu -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="thread.getthreadid">
|
||||
<refnamediv>
|
||||
@@ -14,9 +14,9 @@
|
||||
<modifier>public</modifier> <type>int</type><methodname>Thread::getThreadId</methodname>
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
このスレッドの ID を返します。
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="parameters">
|
||||
@@ -26,9 +26,9 @@
|
||||
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
<simpara>
|
||||
数値の ID を返します。
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1f3517218031b663f773061056a873cf2a03f32d Maintainer: takagi Status: ready -->
|
||||
<!-- EN-Revision: bf92d8bd839301de7c837d20ab1dac6c14f83bbf Maintainer: takagi Status: ready -->
|
||||
<!-- Credits: mumumu -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="thread.isjoined">
|
||||
<refnamediv>
|
||||
@@ -14,9 +14,9 @@
|
||||
<modifier>public</modifier> <type>bool</type><methodname>Thread::isJoined</methodname>
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
このスレッドが同期されているかどうかを調べます。
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="parameters">
|
||||
@@ -26,9 +26,9 @@
|
||||
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
<simpara>
|
||||
&return.success;
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1f3517218031b663f773061056a873cf2a03f32d Maintainer: takagi Status: ready -->
|
||||
<!-- EN-Revision: bf92d8bd839301de7c837d20ab1dac6c14f83bbf Maintainer: takagi Status: ready -->
|
||||
<!-- Credits: mumumu -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="thread.isstarted">
|
||||
<refnamediv>
|
||||
@@ -14,9 +14,9 @@
|
||||
<modifier>public</modifier> <type>bool</type><methodname>Thread::isStarted</methodname>
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
このスレッドが開始したかどうかを調べます。
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</refsect1>
|
||||
|
||||
@@ -27,9 +27,9 @@
|
||||
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
<simpara>
|
||||
&return.success;
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1f3517218031b663f773061056a873cf2a03f32d Maintainer: takagi Status: ready -->
|
||||
<!-- EN-Revision: bf92d8bd839301de7c837d20ab1dac6c14f83bbf Maintainer: takagi Status: ready -->
|
||||
<!-- Credits: mumumu -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="thread.join">
|
||||
<refnamediv>
|
||||
@@ -14,9 +14,9 @@
|
||||
<modifier>public</modifier> <type>bool</type><methodname>Thread::join</methodname>
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
呼び出し元のコンテキストが、このスレッドの実行終了を待つようにします。
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="parameters">
|
||||
@@ -26,9 +26,9 @@
|
||||
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
<simpara>
|
||||
&return.success;
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1f3517218031b663f773061056a873cf2a03f32d Maintainer: takagi Status: ready -->
|
||||
<!-- EN-Revision: bf92d8bd839301de7c837d20ab1dac6c14f83bbf Maintainer: takagi Status: ready -->
|
||||
<!-- Credits: mumumu -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="thread.start">
|
||||
<refnamediv>
|
||||
@@ -14,9 +14,9 @@
|
||||
<modifier>public</modifier> <type>bool</type><methodname>Thread::start</methodname>
|
||||
<methodparam choice="opt"><type>int</type><parameter>options</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
新しいスレッドを開始し、実装されている run メソッドを実行します。
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="parameters">
|
||||
@@ -25,9 +25,9 @@
|
||||
<varlistentry>
|
||||
<term><parameter>options</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
オプションのマスク。継承に関する定数で、デフォルトは PTHREADS_INHERIT_ALL。
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
@@ -35,9 +35,9 @@
|
||||
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
<simpara>
|
||||
&return.success;
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: da55bd31bced1b766a553d3a3d3f560f046ce48e Maintainer: takagi Status: ready -->
|
||||
|
||||
<reference xml:id="class.worker" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<!-- EN-Revision: bf92d8bd839301de7c837d20ab1dac6c14f83bbf Maintainer: takagi Status: ready -->
|
||||
<reference xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="class.worker" role="class">
|
||||
|
||||
<title>Worker クラス</title>
|
||||
<titleabbrev>Worker</titleabbrev>
|
||||
@@ -12,27 +11,27 @@
|
||||
<!-- {{{ Worker intro -->
|
||||
<section xml:id="worker.intro">
|
||||
&reftitle.intro;
|
||||
<para>
|
||||
<simpara>
|
||||
ワーカースレッドには永続コンテキストがあり、たいていの場合はスレッドに対して使えます。
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
ワーカーを開始させると run メソッドを実行しますが、以下のいずれかの条件を満たすまでスレッドは終了しません。
|
||||
</para>
|
||||
</simpara>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Worker がスコープから外れる (どこからも参照されなくなる)</para>
|
||||
<simpara>Worker がスコープから外れる (どこからも参照されなくなる)</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>プログラマーが shutdown を呼ぶ</para>
|
||||
<simpara>プログラマーが shutdown を呼ぶ</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>スクリプトが終了する</para>
|
||||
<simpara>スクリプトが終了する</simpara>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
<para>
|
||||
<simpara>
|
||||
つまり、プログラマーは実行中のコンテキストを再利用できるということです。
|
||||
オブジェクトを Worker のスタックに置くと、そのオブジェクトの run メソッドを Worker が実行します。
|
||||
</para>
|
||||
</simpara>
|
||||
</section>
|
||||
<!-- }}} -->
|
||||
|
||||
@@ -48,12 +47,12 @@
|
||||
<ooclass>
|
||||
<classname>Worker</classname>
|
||||
</ooclass>
|
||||
|
||||
|
||||
<ooclass>
|
||||
<modifier>extends</modifier>
|
||||
<classname>Thread</classname>
|
||||
</ooclass>
|
||||
|
||||
|
||||
<oointerface>
|
||||
<interfacename>Traversable</interfacename>
|
||||
</oointerface>
|
||||
@@ -61,18 +60,18 @@
|
||||
<oointerface>
|
||||
<interfacename>Countable</interfacename>
|
||||
</oointerface>
|
||||
|
||||
|
||||
<oointerface>
|
||||
<interfacename>ArrayAccess</interfacename>
|
||||
</oointerface>
|
||||
</classsynopsisinfo>
|
||||
<!-- }}} -->
|
||||
|
||||
|
||||
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.worker')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])" />
|
||||
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.worker')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])"/>
|
||||
|
||||
<classsynopsisinfo role="comment">&InheritedMethods;</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.thread')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])" />
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.thread')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])"/>
|
||||
|
||||
</classsynopsis>
|
||||
<!-- }}} -->
|
||||
@@ -84,7 +83,6 @@
|
||||
&reference.pthreads.entities.worker;
|
||||
|
||||
</reference>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
Reference in New Issue
Block a user