3
import threading
print threading.activeCount()
出力:2なぜ、最初にPythonスレッド数が2になるのですか?
このコードはファイルや実行に保存されます。
メインスレッドのときはどうすれば2になりますか?
foo.pyファイルを実行すると、pythonはメインスレッドに加えてデフォルトで別のスレッドを実行しますか?
import threading
print threading.activeCount()
出力:2なぜ、最初にPythonスレッド数が2になるのですか?
このコードはファイルや実行に保存されます。
メインスレッドのときはどうすれば2になりますか?
foo.pyファイルを実行すると、pythonはメインスレッドに加えてデフォルトで別のスレッドを実行しますか?
霊能力のデバッグ:プレーンなPythonインタプリタでは実行されていません。プレーンなPythonインタプリタは余分なスレッドを起動しません(あなたが奇妙なPYTHONSTARTUP
ファイルを持っていない限り)が、他のインタプリタはそうです。たとえば:
ipython
(プロンプトを遅らせることを避けるために)バックグラウンドでコマンド履歴を保存するために、余分なスレッドを起動IDLE
は、ソケットを介して通信する複数のプロセスを使用して設計され、それはあなたを提供し、対話型インタプリタがあるさデーモンスレッドを使用してバックグラウンドソケット通信を実行する実行してみてくださいprint threading.enumerate()
;たとえば、ipython
がHistorySavingThread
というサブクラスを使用していて、IDLE
が普通のThread
のサブクラスですが、実行する関数の名前はSockThread
となります。これは何をしているのかという手がかりを与えます)。
これは何をテストしていますか?あなたが 'ipython'や' IDLE'でテストしていると思います。どちらもバックグラウンド作業のためにスレッドを使います。普通のPythonインタプリタは、 'PYTHONSTARTUP'ファイルなどでそれを行うように設定しない限り、追加のスレッドを起動しません。 – ShadowRanger
私は '1'を取得します(python 3.5.2を使用) – Olian04