2017-08-13 6 views
0

を返すことはありません私はこのようなそれぞれを、複数のスレッドを作成してリストに追加し、そのリストを通過しようとしているとjoinています:スレッド:参加は()

threads = [] 
for i in range(0, 4): 
    new_thread = threading.Thread(target=Runnable()) 
    new_thread.start() 
    threads.append(new_thread) 
for thread in threads: 
    print("in thread") 
    print(thread) 
    thread.join() 
    print("after join") 

それは「スレッドでは、」印刷されますと、スレッドは、しかし、それは "結合後"を印刷することはありませんし、そのすべての後に私のコードの実行されません。 Runnable()は私が作成した関数であり、それが何をすべきなのかも表示しているので、そのコードと何か関係があるかどうかわかりません。

+0

あなたのRunnable()関数はこれまでに戻りますか? –

+0

いいえいくつかのことをして、後で使用するキューにレコードを追加します。戻り値はありません – applesauce

+1

'runnable'コードの追加を検討してください。 'runnable'はこれで終わりますか? – Juggernaut

答えて

2

Threadインスタンスを作成するときにはRunnableを呼び出しているので、スレッドのtarget関数は何でも返します(おそらくNone)。使用してみてください:target=Runnableの代わりtarget=Runnable()を持って

new_thread = threading.Thread(target=Runnable) 

関連する問題