2017-03-25 4 views
0

たとえば、関数のパラメータとなる文字列のリストがあるとします。パラメータのリストを指定して複数のスレッドを開始する

どのようにしてnスレッド(nはパラメータのリストの長さ)を開始しますか?すべて同じ関数を実行し、それぞれがリストのパラメータを持ちますか?

+0

これは広すぎます。処理を高速化したい場合、PythonがGIL(グローバルインタプリタロック)を使用するため、スレッドは役に立ちません。代わりにマルチプロセッシングを使用する必要があります。 –

+0

まあ、どうすればいいですか? – Mnovdef

答えて

-1
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() 
+0

あなたはどんな方法でもスレッドを言及していませんでした – Mnovdef

+0

真です。私はあなたがスレッドを開始する方法を知っていると仮定しました。そうでない場合は、https://docs.python.org/2/library/threading.html#threading.Threadに役立つはずです – Charlie

+0

もっと明確になりますか?スレッドごとに手作業で起動する方法は分かっていますが、forループを使ってプロセスを自動化することはできますか? – Mnovdef

関連する問題