私はPerlを初めて使用しており、スレッド化を必要とするプログラムを作成しています。私はPerlでthreads featureを見つけましたが、私はまだ少し混乱しています。この記事のタイトルで述べたように、おそらくスレッドを使用するのはJavaが最も一般的です。私はそれが完璧だと言っているわけではありませんが、Threadクラスを使って仕事を終えることができます。Perl対Javaでのマルチスレッド化
JavaではstartThreadsというメソッドがあり、そのメソッドでスレッドを作成して起動しました。それらを開始した後、トレッドが完了したかどうかをチェックするwhileループがあります。すべてのスレッドが正常に終了した場合、whileループは終了しますが、そうでない場合、whileループは、どのスレッドがタイムアウトしたかを監視していて、それらのスレッドを安全に中断し、シャットダウンフラグをtrueに設定します。
問題: 私は上記のアルゴリズムと同じアルゴリズムを使用したいと思いますが、もちろんPerlには違いがあります。私はPerlに慣れています。他のスレッドの実行中にwhileループを実行させることは可能ですか?どうしたの?
はい、可能ですが、まったく同じ方法で行われます。何を試しましたか?ちょうどそれを与える、概念は同じです。 – Mat
あなたはhttp://perldoc.perl.org/perlthrtut.htmlを読んでいますか? –
あなたはおそらく 'detach'メソッドを探しています。何かを返すことができないという問題があります。ときには、perlスレッドはややこしいことがあります。私がしばらく書いたマルチスレッドDNS検索スクリプトを掘り起こすことができます。 –