phpThread:PHPのスレッド? 簡単に

PHPでマルチスレッドアプリケーションを作成する方法を学びたい場合、または生活を簡素化するのに最適な場合は、この記事が役立ちます。



以前は、これらの目的のために、スクリプトのコピーをいくつか実行するか、またはpcntlを必要なレベルよりも低いレベルで使用していました。 これと、スレッドを扱うJavaのイデオロギーにより、phpThreadパッケージを作成するように促されました。



だから:

<?php

include 'thread.class.php' ;

include 'threadCollection.class.php' ;

class MyThread extends Thread

{

public function run()

{

for (;;)

{

echo date( 'r' ). "\n" ;

if (!$ this ->sleep(2)) { return ;}

}

}

}

echo "Starting...\n" ;

$threads = new threadCollection;

for ($i = 0; $i < 5; ++$i) {$threads->push( new MyThread);}

$threads->start();

echo "Doing pseudo-job (sleep for 5 seconds)...\n" ;

sleep(5);

echo "Pseudo-job in master done. Stopping and waiting...\n" ;

$threads->stop();

$threads->wait();



* This source code was highlighted with Source Code Highlighter .




この単純なコードは、5つの子を作成し、5秒間待機してから停止します。



こちらで入手できます-code.google.com/p/phpthread

このプロジェクトは文字通りひざの上に書かれていますが、うまく機能します。

現時点では、ソースコードの重量は1,247バイトです。

近い将来-競争力のあるリポジトリで便利な仕事をする。



この手法を使用する必要があります。



1.プログラムが十分な速度でデータを受信せず、ダウンタイムが増加する場合。 たとえば、美しいグラフを生成する場合、1つのスレッドでDBMSからデータを受信し(重いクエリが実行され)、2番目のスレッドで描画できます。



2.いくつかの操作タスクを実行する必要があり、プロセッサーをより効率的に使用する場合。



フィードバック、アイデア、コメントを歓迎します。



ご清聴ありがとうございました。



All Articles