PythonスレッドのJoinメソッドの使い方

Pythonでは、スレッドのjoin()メソッドを使用することでスレッドの終了を待機できます。方法は次のとおりです。

  1. スレッドオブジェクトを作成してスレッドを開始します。
import threading
def my_function():
# 你的线程代码
thread = threading.Thread(target=my_function)
thread.start()
  1. スレッドの終了を待つには、join()メソッドを利用する。
thread.join()

join()メソッドは、join()メソッドを呼び出したスレッドが、join()メソッドを呼び出したスレッドが終了するまでブロックする。上の例では、thread.join()を呼び出したスレッドは、my_function()スレッドが終了するまで待機する。

join(timeout)メソッドを利用すると、タイムアウト時間を設定できます。単位は秒です。指定されたタイムアウト時間を超えると、join()メソッドはスレッド終了を待たずに終了します。

例えば:

thread.join(5)  # 最多等待5秒

スレッドを起動してからjoinメソッドを呼び出す必要があります。呼び出し前にjoinメソッドを呼び出すと、RuntimeError例外が発生します。

複数のスレッドオブジェクトを待機する場合はそれぞれのスレッドオブジェクトの join() メソッドを呼び出すことで、すべてのスレッドの終了を待機できます。

bannerAds