たとえば、関数のパラメータとなる文字列のリストがあるとします。パラメータのリストを指定して複数のスレッドを開始する
どのようにしてn
スレッド(nはパラメータのリストの長さ)を開始しますか?すべて同じ関数を実行し、それぞれがリストのパラメータを持ちますか?
たとえば、関数のパラメータとなる文字列のリストがあるとします。パラメータのリストを指定して複数のスレッドを開始する
どのようにしてn
スレッド(nはパラメータのリストの長さ)を開始しますか?すべて同じ関数を実行し、それぞれがリストのパラメータを持ちますか?
import threading
single_params = ['param1', 'param2', 'param3']
threads = []
# f() will be a function that takes a single string parameter
for p in single_params:
threads.append(threading.Thread(target=f, args=(p))
for thread in threads:
thread.start()
これは広すぎます。処理を高速化したい場合、PythonがGIL(グローバルインタプリタロック)を使用するため、スレッドは役に立ちません。代わりにマルチプロセッシングを使用する必要があります。 –
まあ、どうすればいいですか? – Mnovdef