threading
---並列スレッドに基づいて
このモジュールは、モジュールの低レベル _thread
より高いスレッドインタフェース基準の確立。
このモジュールは以下の関数を定義しています。
-
threading.
active_count
() -
現在のスレッドクラスの生存返し
Thread
たオブジェクトを。カウントがに等しい返すenumerate()
返されたリストの長さ。
-
threading.
current_thread
() -
コントロールの呼び出し側のスレッドに対応する電流を返し
Thread
たオブジェクトを。代わりに使用してのコントロールの呼び出し側のスレッド場合はthreading
作成が制限された機能を持つダミースレッドオブジェクトを返します。
-
threading.
get_ident
() -
「スレッド識別子。」現在のスレッドを返します。これは、ゼロ以外の整数です。その値は何の直接的な意味を持っていない、主にスレッド関連データ・ディクショナリを含む指標として、マジッククッキーとして使用されています。スレッド識別子は、新しいスレッドが作成されたときに再利用され、スレッドが終了していてもよいです。
新しい3.3の機能。
-
threading.
enumerate
() -
リスト内のすべての生きている現在を返します
Thread
オブジェクト。リストには、デーモンスレッドが含まれcurrent_thread()
た仮想オブジェクトを作成し、メインスレッドをスレッドを。これは、スレッドの終了が含まれていないとスレッドがまだ開始されていません。
-
threading.
main_thread
() -
メインに戻る
Thread
オブジェクト。通常の状況下では、メインスレッドはPythonインタプリタの開始時に作成されたスレッドです。新しい3.4の機能。
-
threading.
settrace
(FUNC ) -
すべて
threading
のスレッドは、機能モジュールの設定を追跡し始めました。各スレッドでrun()
メソッドが呼び出される前に、FUNCは に渡されますsys.settrace()
。
-
threading.
setprofile
(FUNC ) -
すべてのため
threading
のスレッド性能テスト機能モジュールを設定するために開始します。各スレッドでrun()
メソッドが呼び出される前に、FUNCは に渡されますsys.setprofile()
。
-
threading.
stack_size
([ サイズ] ) -
スレッドのリターンを作成するときに使用するスタックサイズ。オプションのパラメータの サイズ 指定された新しいスレッド後のスタックサイズが、それは0(またはインターネットのデフォルト設定)でなければならない、または最小は32,768(32KiB)では正の整数です。場合は サイズが 指定されていない場合、デフォルトは0です。それは、スレッドのスタックサイズを変更しない場合は、それがスローされます
RuntimeError
エラーを。指定されたスタックサイズが正当でない場合、それがスローされますValueError
、エラーをし、スタックサイズを変更しません。十分な大きさのインタプリタスタックを確保するための32KiBの最小電流は、スペースを積み重ねています。ページ4KiBはもう、比較的一般的な(詳細については、インターネットの文書が相談しなければならない- 、例えば、スタックサイズがより大きいまたはシステム全体のメモリ割り当てられたページの複数の32KiBが必要であることを要求しているスタックのサイズにプラットフォーム固有の制限の一部を注意していません特定情報の場合には、推奨されるアプローチは、スタックの大きさ)の倍数として4096を使用することです。適用されます。Windows、POSIXスレッドには、システムを持っています。
このモジュールは、以下の定数が定義されています。
-
threading.
TIMEOUT_MAX
-
ブロッキング機能(
Lock.acquire()
、RLock.acquire()
、Condition.wait()
、...)パラメータの タイムアウト 許容される最大。このレベルのタイムアウトを超えて入ってくると、スローされますOverflowError
例外を。新しい3.2の機能。
このモジュールは、次のセクションで説明するクラスの数を定義します。
モジュールは、Javaのスレッドモデルに基づいて設計されています。しかし、Javaでは、ロックと条件変数はPythonで、これらは別々のオブジェクトである各オブジェクトの基本的な特徴は、独立したです。Pythonの Thread
クラスは、JavaのThreadクラスのサブセットだけで、何の優先順位、ノースレッドグループ、スレッドはまだ破壊することはできません、停止、一時停止、再開または中断はありません。モジュールレベルの関数にマッピングされた実現におけるThreadクラスのJavaの静的方法。
以下に記載された方法が自動的に行われます。
-
スレッドオブジェクトが作成されたときしかし、それは、呼び出し元のスレッドの活動が原因となり
start()
、スタート方法。コントロールのこのスレッドは別々に呼び出すrun()
方法。 -
スレッドの活動が始まったら、スレッドは「生きている」とみなされます。それはだとき
run()
の方法に終了(正常または未処理のスローのいずれか)、それが「生き残る」ではありません。is_alive()
この方法は、スレッドが生きているかどうかを確認するために使用しました。 -
他のスレッドは、スレッド呼び出すことができる
join()
方法を。このメソッドは、呼び出されるまで、呼び出し元のスレッドをブロックしますjoin()
糸端に。 -
スレッドには名前があります。名前は、コンストラクタに渡すことができ、あなたもすることができます
name
読み取りまたはプロパティを変更します。 -
スレッドは、次のようにマークすることができ、「スレッドの守護者。」このフラグの重要性は、スレッドが終了している唯一のデーモンで、全体のPythonプログラムが終了します。相続の初期値は、スレッドを作成します。このフラグをすることができる
daemon
特性または特徴 ガーディアン コンストラクタパラメータセット。
注:プログラムが閉じられたときにデーモンスレッドが突然シャットダウンします。彼らのリソースが正しく解放されないことがあり(例えば、開いているドキュメント、データベーストランザクション、などとなっています)。あなたは、通常のスレッドを停止する場合は、非デーモンモードであることと、適切なシグナリングメカニズムを使用するように設定します
制御のこの最初のスレッドに対応するPythonプログラム; 6.「メインスレッド」は、対象があります。これは、デーモンスレッドではありません。
7.「仮想スレッドオブジェクトは、」作成することができます。これらは、例えば、直接Cコードから、制御モジュールのスレッドの開始スレッドの外にある「外部スレッド」スレッドオブジェクトに対応しています。限られた機能を持つ仮想スレッドオブジェクト、彼らは常にすることができない、生きとガードモードであると考えられています join()
。彼らは外国スレッドの終了を検出することができないので、それらは削除されません。