# エンコーディング: UTF-8
インポート スレッド
インポートtime
# スレッドで実行する関数
def func():
for i in range(5):
print 'func'
time.sleep(1)
# 現在のスレッドを終了します
# このメソッドは thread.exit_thread()
thread.exit() # func が返されると、スレッドも終了します
#スレッドを開始すると、スレッドはすぐに実行を開始します
# このメソッドは thread.start_new_thread() と同等です
# 最初のパラメータはメソッドで、2 番目のパラメータはメソッドのパラメータです
thread.start_new (func, () ) # メソッドにパラメータがない場合、空のタプルを渡す必要があります
# ロックを作成します (LockType、直接インスタンス化できません)
# このメソッドはスレッドと同等です.allocate_lock()
lock = thread.allocate()
# ロックがロックされているか解放されているかを決定します
print lock.locked()
# ロックは通常、次の目的で使用されます。共有リソースへのアクセスを制御
count = 0
# ロックを取得し、ロックの取得に成功した後に True を返します
# オプションのタイムアウト パラメータが入力されていない場合、ロックが確立されるまでブロックされます。 selected
# それ以外の場合は、タイムアウト後に False が返されます
if lock.acquire():
count += 1
# ロックを解放します
lock.release()
# スレッドモジュールによって提供されるスレッドは、メインスレッドの終了後同時に終了します
time.sleep(6)
スレッド モジュールによって提供されるその他のメソッド:
thread.interrupt_main(): 他のスレッドのメイン スレッドを終了します。
thread.get_ident(): 現在のスレッドを表すマジックナンバーを取得します。これは、辞書からスレッド関連のデータを取得するためによく使用されます。この番号自体には意味がなく、スレッドの終了時に新しいスレッドによって再利用されます。
Thread は、スレッド関連データを管理するための thread._local という名前の ThreadLocal クラスも提供します。これはスレッド化で参照されます。