問題タブ [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 投票する
1 に答える
57 参照

python - Pythonの変数にバインドされていないオブジェクトへのアクセス

私はしばらくの間Pythonのオンとオフを使ってプログラミングすることを学んでおり、現在のプロジェクトはwxPythonで記述されたGUIを備えたダウンロードマネージャーです。threading.Threadから継承したDownloadThreadsがあり、さまざまな量をインスタンス化します。

作成するスレッドの数が固定されていないため、DownloadThreadオブジェクトを変数に割り当てることができず、そのため、などのメソッドにアクセスする方法がわかりませんx.isAlive()。変数を動的に作成することを考えましたが、これについては本当に悪い考えのようです。これらの「匿名」オブジェクト(用語)にアクセスするにはどうすればよいですか、それとも間違った方法でアクセスしますか?読んでくれてありがとう、これが本当に単純/明白であるならば謝罪。

0 投票する
6 に答える
22582 参照

python - Python スレッドがハングする

標準パラダイムに従って、単純なスレッド化された Python プログラムがあります。

キューは約 1000 個の URL で満たされ、単純なHTTP GET実行は で行われ<do Internet search and print output/>ます。問題は、500 から 700 のエントリ (数秒しかかからない) を処理した後、出力も例外も何もなく、プログラムが常にハングアップすることです。

requestsurllib2urllib3を試しましhttplib2HTTP GETが、何も変わりません。

ハングしているスレッド化された Python プログラムをどのようにデバッグしますか?

ところで、Ubuntu 11.10 (64 ビット) で Python 2.7 を使用しています。

編集

ハング プロセスの gdb トレースをじっと見ると、以前と同じように無知です。

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

python - thread.join() が呼び出され、それは私ではありません

threading.Thread() のサブクラスを作成するときに、.join() メソッドをオーバーライドしました。クラスをテストスクリプトでテストすると正常に動作しますが、プログラムでそれを使用すると、thread.join) メソッドが何度も呼び出されますが、私はそれを行っていません。このメソッドを呼び出すのは何ですか? 私が知る限り、例外はスローされていません。呼び出し関数の検査を使用すると_exitfuncのように見えますが、これに関する情報は見つかりません。

私のコードは投稿するには長すぎますが、ここで見つけることができます

0 投票する
0 に答える
221 参照

python - multiprocessing でプロセスを実行し、django でその状態を提供する

djangoでページを提供したいのですが、ページがリクエストされたかどうかに関係なく、コンテンツが時間とともに進化することを望んでいます。

私の最初の計画はviews.py、無限にループしてコンテンツを更新するマルチプロセッシングでプロセスを起動することです。django がコンテンツを取得してクライアントに提供できるように、起動プロセスと共有状態が必要だと思います。

この質問を投稿して、人々が私のアプローチに明らかな欠点を見つけられるかどうか、または明らかにより良いものを提案できるかどうかを確認します。

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

python - Pythonでのシリアル化可能な操作のスレッド化は、それらを順番に実行するよりも遅くなります

Pythonで2つの長時間実行操作を同時に実行しようとしています。どちらも同じデータセットで動作しますが、変更はしません。スレッド化された実装は、単に次々に実行するよりも実行が遅いことがわかりました。

私が経験していることを示すために、簡単な例を作成しました。

このコードを実行し、46行目をコメント化すると(スレッド化された操作を実行するようになります)、私のマシンでの実行時間は約1:01(分:秒)になります。2つのCPUがフル実行時間で約50%で実行されているのがわかります。

行47をコメントアウトすると(順次計算が発生します)、実行時間は約35秒になり、1つのCPUが完全な実行時間で100%に固定されます。
両方の実行により、両方の完全な計算が完了します。

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

python - Python のスレッドでグローバル変数を使用する

私は、スレッド内の呼び出された関数の 1 つで変更されている変数に応じて、スレッドをループに入れたい状況にあります。ここに私が望むものがあります。

ここで、A という関数を呼び出すテストを実行し、A が B を呼び出し、B が C を呼び出すとします。

これは私がやりたいことですが、私はこれを解決できません。エラーを印刷しようとすると、コードでエラーが発生します。

誰でもこれについて私を助けてもらえますか?

私は初心者で、これを乗り越える必要があります

0 投票する
0 に答える
85 参照

python - スレッドを強制終了せずに一時停止する方法

同時に複数のスレッドを実行しています。スレッドの状態を保存する関数を実装し、それを強制終了したくない (Thread.stop () なし) ことを知って停止したいのは、汚れがスレッドを続行できるようにする関数も実装しようとしているからです (止まった状態)

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

java - Jython、サブプロセス、および msvcrt... 可能ですか?

Python モジュールのラッパーを作成して、Java コードに埋め込もうとしています。

このモジュールは、サブプロセス、スレッド化などの多くのトリックを使用しているようです

(実際には、それ自体が現状のままで提供されるCユーティリティを制御するモジュールであり、バイナリとしてのみ提供されます。このpythonラッパーがすでに提供している内部ロジックやその他のツールを再コーディングするための過大なコストを回避しようとしています)

ちなみに、Java から独自のラッパーをインスタンス化すると、次のようになります。

ハードディスクを見ると、msvscrt.py がありません。どこに住んでいると思われますか?

私は私のjythonを起動しています:

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

python - 最大スレッド制限は、実際には Python / Linux に関係のない問題ですか?

私が取り組んでいる現在の Python アプリケーションでは、1000 以上のスレッド (Python のスレッド化モジュール) を利用する必要があります。シングル スレッドが最大 CPU サイクルで動作しているわけではありません。これは、私が作成している Web サーバー負荷テスト アプリにすぎません。IE は 200 の Firefox クライアントをエミュレートし、それらすべてが Web サーバーにアクセスし、小さな Web コンポーネントをダウンロードします。基本的には、マイクロ秒ではなく秒単位で動作する人間をエミュレートします。

それで、「Linux / Windowsでpythonがサポートするスレッドの数など」などのさまざまなトピックを読んでいたところ、さまざまな回答がたくさん見られました。スレッドの場合は 8Meg です。これを超えると、カーネルによってスレッドが強制終了されます。

ある人は、これは CPython にとって問題ではないと述べました。これは、一度に 1 つのスレッドしか実行されないため (GIL のため)、膨大な数のスレッドを指定できるからです。これについての実際の真実は何ですか?

0 投票する
0 に答える
328 参照

python - 俳句のスレッド

仮想マシンで Haiku デスクトップを実行しており、スレッド化された Python プログラムを作成しています。プログラムは実行ごとにスレッドを作成します。最初の数回は正常に動作しますが、実行し続けると、スレッドが完了しても終了しないようです。もう一度スタートを押すと、Thread-1 のはずなのに、Thread-93 のようなメッセージが表示されます。Python には stop() 関数などはありません。他のオペレーティング システムでは問題にならないようです。スレッドを非表示にして、Haiku でそれらのリソースを解放するにはどうすればよいですか?