2016-09-12 10 views
0

私はPythonでマルチスレッドハッシュクラッカー/ bruteforcerを作成しようとしていますが、スレッドにすべての可能な単語の組み合わせを生成させ、キューに入れようとするときに問題が発生します。問題は、10個のハッシュスレッドが1スレッドジェネレータから実行時間を奪い、ボトルネックになることです。だから私の質問はこれです:プロセスをPythonで同時に他のスレッドが使用できるキューを更新することは可能ですか?スレッドがキューを消費している間にプロセスが共有キューを更新できますか?

+0

はい - 'multiprocessing.Queue'のドキュメントを参照してください –

答えて

0

multiprocessing.Queueオブジェクトは、プロセスおよびスレッドセーフです。

複数のプロセスがその内容をハッシュしている間に、ソリューションのメインループにキューを移入させたいと思います。

作業がCPUのように見えますが、スレッドは避けています。

+0

答えをありがとう。私は単語とハッシュを取るために単語を読み込むためにコールを入れてforループを持っていました。これにより、~2,000,000-12,000,000のgetとputコールが、キュー定数と私のプログラムをひどく遅くすることになりました。今、私は50万語を「バイテアレイ」に保存しています。その結果、ばかげたスピードの向上が起こりました –

関連する問題