問題タブ [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.
python - Django セッションスレッドは安全ですか?
複数のスレッドからアクセスできる Django セッションに辞書を保存しています。すべてのスレッドはそのディクショナリを更新できます。スレッドは、プロセスを実行するためにディクショナリから値を取得することもできます。Django セッションはスレッド セーフなのか、それともロックやセマフォを使用する必要があるのかを知りたいですか?
典型的な例:
Point2
更新直後のセッションでスレッド辞書をPoint1
更新すると、stop
スレッドを終了するためのスレッドが失われる可能性はありますか。
より詳しい情報
ajax リクエストは、4 つの異なる URL からサンプルをダウンロードする 4 つのスレッドを開始します。スレッドを使用した理由 現在ダウンロード中のサンプルと残っているサンプルをユーザーに表示したいからです。すべてのスレッドは、セッション内のディクショナリでその状態を更新します。スレッドが開始された後、2 秒ごとに ajax リクエストを作成し、セッションから辞書を取得して、スレッドの現在の状態を読み取ります。しかし、スレッドはリクエストとそのセッションから独立しているため、このアイデアは失敗しました。各 ajax リクエストには必ずセッションがありますが、そのセッションをスレッドに渡すことはできません。スレッドが開始されると、他の世界から独立しているためです (渡すことはできますが、スレッドによって処理が行われているほど速く渡すことはできません)。スレッド)。この問題に取り組むために、セッションではなくキャッシュ フレームワークを選択します。キャッシュはどこからでもアクセスできます。スレッドは状態を辞書に保存してキャッシュに戻し、2 秒ごとにキャッシュから辞書を取得して状態を読み取ります。私の経験によると、キャッシュはスレッドセーフではありません。したがって、4 つのスレッドに対して、4 つの辞書を別々に使用しました。
python - 並行性を備えた Python スレッド化
Pythonでスレッド化を学ぼうとしているときに、次のコードを書きました。
Thread-1 と Thread-2 の両方が同時に開始する出力を取得しようとしています。IE プリント
Thread-1 スタッフ、Thread-2 スタッフ、Thread-1 スタッフ、Thread-2 スタッフ、代わりに
スレッド 1 のスタッフ、スレッド 1 のスタッフ、スレッド 1 のスタッフ、スレッド 1 のスタッフ、スレッド 2 のスタッフ、スレッド 2 のスタッフ、スレッド 2 のスタッフ、スレッド 2 のスタッフ
代わりに、Thread-2 は Thread-1 の後にのみ開始します。オンラインの例を確認しましたが、機械的に何が間違っているのかわかりません。
python-3.x - 複数のスレッドには複数のパイプが必要
最近、Python シェルでサブプロセスの出力を取得する方法を尋ねました。非常に役立つ応答がありました。POpen に stdout=subprocess.PIPE を供給する
次に p.stdout.readline() を使用し、結果を print() にフィードします
しかし、この POpen を複数のスレッドから同時に呼び出すとどうなるか心配です。
同じ subprocess.PIPE が各 POpen にフィードされています。各 readline が両方のサブプロセスから結果を取得している範囲まで。
やや風変わりな結果が得られるだけでなく、各ループ (for line in it:)
先に進む前に、両方のスレッドのサブプロセスが完了するまで待機しているようです
これは私が望むものではありません。
- それで、各スレッドが完全に独立していることに依存できるように、自分の PIPE (スレッドごとに 1 つ) を持つことができる方法はありますか?
前もって感謝します
python - Pythonの並列処理が正しく機能していません
私はPython2.7を使用してgaeでアプリを開発していましたが、ajax呼び出しはAPIからいくつかのデータを要求し、1回の要求には最大200ミリ秒かかる可能性がありますが、2つのブラウザーを開いて、非常に近い時間に2つの要求を行うと、その2倍、すべてをスレッドに入れようとしましたが、機能しませんでした。(これは、開発サーバーだけでなく、アプリがオンラインの場合に発生します)
だから私はこれが一般的にPythonの問題であるかどうかを確認するためにこの簡単なテストを書きました(ビジーウェイトの場合)、ここにコードと結果があります:
mac os x、core i7(4コア、8スレッド)、python2.7での結果:
これはかなり衝撃的です!1つのスレッドでこれを行うのに5秒かかる場合、2つのスレッドを同時に開始すると、両方のタスクを完了するのに同じ時間がかかると思いましたが、ほぼ3倍の時間がかかります。これにより、スレッドのアイデア全体が役に立たなくなります。それらを順番に実行する方が高速です。
ここで何が欠けていますか。
python - Python でのスレッド化: Python 'args' は、この関数の無効なキーワード引数です。なぜですか?
Python でスレッド化するためのコードを作成しました。
以下のエラーがスローされます。
そのエラーをどのように修正すればよいですか?
このコードを実行すると、次のエラーが発生します。
ここで間違いを犯しましたが、ファイルを含める必要があります
このエラーを修正するにはどうすればよいですか?
python - オンデマンド トリガーによる定期的な Python スレッド
シンプルな PyGTK アプリがあります。複数の定期的なタスクを実行してデータを取得し、GUI を更新する必要があるため、Thread を次のように拡張しました。
アプリのブートストラップでスレッドを開始し、それらをいくつかのリストに保存して、終了する前にキャンセルします。これは完璧に機能します。
しかし、現在実行されていない場合は、スレッドの1つを強制的に実行し、実行されるまで一定時間待機しない更新ボタンを追加したいと思います。
bool var を MyThread に追加して、スレッドが実行されているかどうかを示し (_run の前に設定し、完了時にリセット)、実行していない場合は MyThread._run() を呼び出すだけでそれを実行しようとしましたが、それによりアプリがunresponsive および _run タスクが実行を終了しないようにします。
なぜこれが起こるのかわかりません。この問題を解決する最善の方法は何ですか? GUIをブロックしないように、バックグラウンドで更新を実行できれば問題ありません。
たぶん、run を呼び出して秒数を 1 に渡して、タイマーがより早くトリガーできるようにしますか?
python - Python で複数の telnet 接続スレッドを使用すると、タイムアウトと高 CPU 負荷の問題が発生する
Python でスレッド化を使用して複数の telnet ホストに接続したいのですが、解決できない問題に遭遇しました。
MAC OS X Lion / Python 2.7 で次のコードを使用する
一般的には機能しますが、いずれかのスレッド (常に同じであるとは限りません) の接続に時間がかかります (約 20 秒、タイムアウトになることもあります)。その非常に長い接続時間中 (すべてローカル ネットワークで)、CPU 負荷も 100% に達します。
さらに奇妙なのは、配列内のスレッドを 1 つだけ使用している場合、常に問題なく動作するという事実です。したがって、複数のスレッドの使用と関係があるに違いありません。
DNS ルックアップの問題を回避するために、すべての IP アドレスにホスト名エントリを追加しました。これは違いはありませんでした。
よろしくお願いします。
よろしくお願いします
セネキシ
python - Python スレッドによる HTTP ストリームの制御
同時にいくつかの http ストリームを消費するアプリを実装しています。すべてのスレッド (それぞれ pycurl オブジェクト) は同じループで生成されます。秘訣は、再接続を処理するための適切なアーキテクチャを構築する方法です。
どの接続がアクティブでないか、または強制的な再接続が必要かを何らかの方法でチェックする別のコントローラースレッドを作成することは良い習慣ですか?
または、そのようなタスクは別のプロセス内で実行する必要がありますか?
python - これは動的なConfigObjファイルを共有するための適切な方法ですか?
物理IOを監視して操作するPythonプロセスがいくつかあります。たとえば、電流が高すぎる場合はモーターをシャットダウンします。彼らはなぜ彼らが何かをしたのかをお互いに知らせる必要があるので、共有ファイルは簡単な解決策かもしれないと思いました。さまざまなプロセスがこのファイルに書き込むことができ、他のプロセスはいつ書き込まれたかを知る必要があります。私はすでに静的構成ファイルにConfigObjを使用しているので、動的ファイルを試してみようと思いました。書き込みはそれほど頻繁には発生しないはずです。おそらく1秒に1回程度で、通常はそれよりもはるかに遅くなります。私はうまくいくように見えるこの例を思いついた。
私の質問は、これを行うためのより良い/より簡単な/よりクリーンな方法があるかどうかです。
python - Pythonで完全な例外を取得するにはどうすればよいですか?
PythonでMinecraftClassicサーバーを作成しています。ただし、コードで次のエラーが発生します。
これが私のハートビートコードです:
完全なトレースバックを取得するにはどうすればよいですか?