タグ付けされた質問 「python-multithreading」

19
Pythonでスレッドを使用するにはどうすればよいですか?
Pythonのスレッディングを理解しようとしています。私はドキュメントと例を見てきましたが、率直に言って、多くの例は過度に洗練されており、それらを理解するのに苦労しています。 マルチスレッド用に分割されているタスクをどのように明確に示しますか?

14
関数呼び出しのタイムアウト
私はPythonで関数を呼び出していますが、これが停止してスクリプトを再起動するように強制する可能性があることがわかっています。 5秒以上かかる場合、スクリプトがそれをキャンセルして他のことを行うように、関数を呼び出す方法または何をラップするかを教えてください。

7
デーモンスレッドの説明
ではPythonドキュメント 、それは言います: スレッドは「デーモンスレッド」としてフラグを立てることができます。このフラグの重要性は、デーモンスレッドだけが残されると、Pythonプログラム全体が終了することです。初期値は作成スレッドから継承されます。 誰かがそれが何を意味するのかを明確に説明したり、スレッドをdaemonicどこに設定するかを示す実際的な例を持っていますか? 明確にしてください。つまり、スレッドをdaemonicに設定しない唯一の状況は、メインスレッドが終了した後もスレッドを実行し続けたい場合です。

10
Pythonスレッドでのjoin()の使用は何ですか?
私はpythonのスレッディングを研究していて、出会いましたjoin()。 作者は、スレッドがデーモンモードの場合、join()メインスレッドが終了する前にスレッドが終了できるように使用する必要があると述べました。 しかし、私は彼が使用しt.join()ていtなくても使用しているのを見ましたdaemon サンプルコードはこれです import threading import time import logging logging.basicConfig(level=logging.DEBUG, format='(%(threadName)-10s) %(message)s', ) def daemon(): logging.debug('Starting') time.sleep(2) logging.debug('Exiting') d = threading.Thread(name='daemon', target=daemon) d.setDaemon(True) def non_daemon(): logging.debug('Starting') logging.debug('Exiting') t = threading.Thread(name='non-daemon', target=non_daemon) d.start() t.start() d.join() t.join() t.join()デーモンではないので何を使うのか分からず、削除しても何も変わらない

8
PythonでスレッドIDを見つける方法
マルチスレッドのPythonプログラムとwriteLog(message)、タイムスタンプとそれに続くメッセージを出力するユーティリティ関数があります。残念ながら、結果のログファイルでは、どのスレッドがどのメッセージを生成しているかはわかりません。 writeLog()メッセージに何かを追加して、どのスレッドがそれを呼び出しているかを識別できるようにしたいと思います。明らかに、スレッドにこの情報を渡すだけでもかまいませんが、それははるかに多くの作業になります。os.getpid()使用できるスレッドと同等のスレッドはありますか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.