問題タブ [python-multithreading]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2002 参照

python - Tkinterのカメと糸

世界!Pythonのタートルグラフィックスでは、さまざまなTurtleオブジェクトを作成し、それらを順方向、逆方向のメソッドで操作することができます。スレッドを試してみたかったので、MyTurtleManipulatorというスレッドクラスを作成しました。

実験では、すべてのカメが「同時に」ランダムに動くのを見ると期待していましたが、プログラムを実行すると、次のエラーが発生します。

これはどういう意味ですか、「メインスレッドがメインループにない」とはどういう意味ですか。ご協力ありがとうございました。

0 投票する
2 に答える
7809 参照

multithreading - ストリームの読み取り中に Python3 スレッドを正しく終了する方法

メインループで他のことを処理しながら、スレッドを使用してストリーム (/dev/tty1) から文字列を読み取ります。CTRL-C を押したときにスレッドがメイン プログラムと一緒に終了するようにします。

通常の解決策 (run() ループ内のブール変数) は、ここでは機能しません。これに対処するための推奨される方法は何ですか?

Daemon フラグを設定することはできますが、後で (何らかのクリーンアップを行うために) 価値があると判明する可能性がある quit() メソッドを使用することはできません。何か案は?

0 投票する
3 に答える
561 参照

python - Python のマルチ スレッド

私は単純な python アプリケーションを作成してワーカー キューを実装しようとしましたが、スレッドについて見つけたすべての Web ページにランダムな男がコメントしています。Python スレッドを使用しないでください。Python スレッドはどうなっていますか? 使用できますか? はいの場合、どのライブラリですか?標準のもので十分ですか?

0 投票する
3 に答える
10369 参照

python - numpy とグローバル インタープリター ロック

ほとんどの時間をnumpyの線形代数関数内で費やすことになる計算集約型の Python コードを書き込もうとしています。

当面の問題は、恥ずかしいほど並列です。簡単に言えば、それを利用する最も簡単な方法は、複数のスレッドを使用することです。主な障壁はほぼ確実に Global Interpreter Lock (GIL) です。

これを設計するのに役立つように、numpy操作がその期間中に GIL を解放することが期待できるメンタル モデルがあると便利です。この目的のために、経験則、すべきこととすべきでないこと、ポインタなどをいただければ幸いです。

念のため、 Linux で 64 ビットの Python 2.7.1 を使用しています。1.5.1numpyscipy0.9.0rc2 を使用し、Intel MKL 10.3.1 でビルドされています。

0 投票する
4 に答える
123275 参照

python - リストはスレッドセーフですか?

リストや。の代わりに、複数のスレッドを持つキューを使用することがしばしば提案されていることに気付きました.pop()。これは、リストがスレッドセーフではないためですか、それとも他の理由によるものですか?

0 投票する
2 に答える
35693 参照

python - Python3でthread.start_new_threadに何が起こったのか

クラスを定義するための不要な行なしで関数をスレッドに変換する機能が気に入りました。_threadについては知っていますが、_threadを使用することは想定されていないようです。Python 3のthread.start_new_threadに相当する実用的な方法はありますか?

0 投票する
1 に答える
436 参照

python - それぞれが異なるプロキシ設定を持つ複数のスレッド

異なるプロキシ設定で複数の同時スレッドを実行することは可能ですか? スレッドでこれを呼び出しても問題ありません:

スレッドから呼び出された関数で同じコードを呼び出した場合、それは問題ありませんか?

ありがとう

0 投票する
3 に答える
2211 参照

python - Amazonクラウドインスタンス間のPythonマルチプロセッシング

いくつかのAmazonEC2インスタンスで長時間実行されるPython分析プロセスを実行したいと考えています。コードはすでにPythonmultiprocessingモジュールを使用して実行されており、単一のマシンですべてのコアを利用できます。

分析は完全に並行して行われ、各インスタンスは他のインスタンスと通信する必要はありません。すべての作業は「ファイルベース」であり、各プロセスは各ファイルで個別に機能します...したがって、すべてのノードに同じS3ボリュームをマウントすることを計画していました。

マルチプロセッシング環境をセットアップして、任意の数のコンピューティングインスタンスで同時に実行できるようにするためのチュートリアルを知っている(または提案がある)人はいないかと思いました。

0 投票する
1 に答える
1579 参照

python - pythonスレッドとtkinter.tix.NoteBookタブは最初に開いたタブを超えてアクセスできません

次の例では、デフォルトで開く[ログ]タブ以外の他のタブに書き込むことができません。

コンソールトレースバック:

これは、gui.SettingsFrameまたはgui.ProgressFrameでウィジェットを作成しようとするたびに発生します。main()でtime.sleep(1)を増やし、tix.Label部分が開始する前にタブをクリックすると、tabsコマンドが呼び出されてからコードが機能します。

では、事前にgui.SettingsFrameとgui.ProgressFrameを宣言するにはどうすればよいですか?main()のtix.Labelに到達する前に、コードのタブを通過できますか?

注:スレッド化する必要があります。これは、12の異なることを実行し、マルチスレッド化され、いくつかのプロセスを持つ、より大きなプログラムの一部です。

ありがとう

編集1: フレームを参照する代わりに、クラスにメソッドを追加できます。

そしてそれらをメインで呼び出します:

しかし、結果は同じです:

編集2 :ブライアンオークリーによる非常に素早い迅速で簡単な修正:

ありがとう !

編集3:以下はスレッドセーフな実装です。ボーナスタイマーを追加しました:

これはおそらく、スレッド化されたtkinterguiをコンソールアプリケーションに実装するための最も簡単な方法です。gui.print_queue.put()はprint()を置き換え、GUIが更新するレートはrate変数を調整することでprint_label(self)で変更できます。

楽しみ !

0 投票する
2 に答える
50137 参照

python - Pythonのスレッドに名前で変数を渡す方法は?

次のような関数があるとします。

今、その関数を使用してスレッドを作成し、arg3 ではなく arg2 を指定したいと考えています。私はこれを以下のようにしようとしています:

上記のコードでは、構文エラーが発生します。arg2 としてスレッドに引数を渡すことができるように修正するにはどうすればよいですか?