【Python】マルチスレッドの作成
スレッドを作成する方法
まずはモジュールをインポートします。
import threading
threading.Thread関数でスレッドを作成します。 戻り値はスレッドのオブジェクトです。
thread_obj = threading.Thread(target=実行する関数, args=引数)
スレッドのオブジェクトのstart関数でスレッドを開始します。
thread_obj.start()
スレッドの終了を待つ場合はjoin関数を使います。
thread_obj.join()
テストコード
以下は3秒+αの時間待って threadX の文字を出力し、すべて終わったらプログラムの終了の文字列を出力します。
import threading import time # 呼び出し関数 def test1(delay, text): time.sleep(delay) print(text) # 0~2までのスレッドを作成 # thread_listにスレッドのオブジェクトを保存 thread_list = [] for i in range(3): thread_obj = threading.Thread(target=test1,args=(3+i, 'thread'+str(i))) thread_obj.start() thread_list.append(thread_obj) # スレッドの終了を待つ for th in thread_list: th.join() print('プログラムの終了')
まとめ
短い記事になってしまいましたが、最近はPythonを勉強しているのでPythonの記事を備忘録としても残していきたいところです。