スレッド::分離::プール

Thread :: Poolput :: Poolは、複数のタスクを実行するためのスレッドのプールです。
今すぐダウンロード

スレッド::分離::プール ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • Perl Artistic License
  • 価格:
  • FREE
  • 出版社名:
  • Graciliano M. P.
  • 出版社のWebサイト:
  • http://search.cpan.org/gmpassos/

スレッド::分離::プール タグ


スレッド::分離::プール 説明

スレッド::アイソ::プールは、複数のタスクを実行するスレッドのプールです。 スレッド::アイソ::プールは、複数のtasks.Thisモジュールを実行するスレッドのプールで同時に多くのタスクを実行するために使用できるスレッドのプールを作成します。私たちはプールが同じtime.USAGEの使用糸::アイソ::プールで複数のコールを受信することができます糸のようなものであることを考えることができるようにプールへのインタフェースは、通常のスレッド::アイソオブジェクトに似ています。私の$プール=スレッド::アイソ::プール|>新しいです(); $プール|>使用( 'LWP :: Simpleは');プールのメインスレッドで##ロードLWP :: Simpleは。 $プール|> main_thread-> ERRを印刷します。 ## $ @プールのメインスレッドの。私の$のURL = 'http://www.perlmonks.com/';私の$ JOB1 = $プール|> call_detached(、$ URL 'を取得します');私の$ JOB2 = $プール|> call_detached(、$ URL 'を取得します');私の$ JOB3 = $プール|> call_detached(、$ URL 'を取得します'); ##ジョブがプールで実行されているものを印刷します。while($ job1-> is_running || $ job2-> is_running || $ job3-> is_running){印刷 "" $ job1-> is_running場合。印刷 "" $ job2-> is_running場合;印刷 "" $ job3-> is_running場合; }印刷 "Nサイズ:"。長さ($ job1->返されます)。 "n";印刷する "Nサイズ:"。長さ($ job2->返されます)。 "n";印刷する "Nサイズ:"。長さ($ job3->返されます)。 "n"; ##シャットダウン、プールのすべてのスレッド:$プール|>シャットダウン;上記のコードは、スレッドのプールを作成し、同時に3 LWP :: Simpleはを作る::()の取得。内部的にはプールがthreads.Theメインスレッドは、すべてのリソース/モジュールはpool.Whenへの呼び出し()/のeval()の呼び出し()/のeval()を作る前にロードされている必要があります実行を作成するために使用されるメインスレッドを持っていますプールは、任意のスレッドの自由を持っていない場合(任意のジョブを実行させずに)、行われ、新しいスレッドをメインスレッドから作成され、タスクを実行するために使用されます。これではないでしょう空きメモリ以降に作成されるというスレッドが後に削除されることはありませんが、そうシャットダウン()。METHODSnew(LIMIT)が新しいプールを作成するまで、そこにそれらを聞かせすることをお勧めします。 LIMITが定義されている場合は、プール内のスレッドの最大数を設定します。だから、これは同時コールの最大数を定義し、そのプールできるhave.main_threadReturnsメインthread.limitReturns pool.get_free_threadReturn自由スレッドのスレッドのLIMIT。無料のスレッドを取得し、新しいによるLIMITを作成することはできません場合は、プール内の任意のスレッドがreturned.IfはON_LIMITが真であるとき、それができないようだった示し、(FREE_THREAD、ON_LIMIT)を返しますARRAYコンテストに呼び出されます無料のスレッドを取得したり、LIMIT.use(MODULE、ARGS)にない場合は、新しい無料thread.add_threadAdd新しいスレッドを作成pool.callGet A自由のメインスレッドで「使用モジュールのQW(ARGS)」電話をかけますスレッドとit.call_detachedGet上>)(空きスレッドを$ THI-電話をかけると$ THI-call_detached()> it.evalGetの空きスレッドを作成し、it.eval_detachedGet Aで$ THI-EVALを()>作ります無料のスレッドとは、プールの$ THI-eval_detached()> it.shutdownShutdown上のすべてのスレッドを作ります。要件: ・Perl


スレッド::分離::プール 関連ソフトウェア