2016-04-01 8 views
0

スレッドモジュールを使用してPydevで見つけたこの単純なコードをテストしようとしています。なぜなら、スレッドモジュールは私のオプションではないからです。スレッドは実行されず、HELLOを印刷してプログラムを終了します。私は元のプログラムでこのモジュールを使っていましたが、同じことをしていたので、ソースの簡単なテストから始めると思いました。なぜこうなった?Pythonスレッドモジュール

コード:

import thread 
import time 

# Define a function for the thread 
def print_time(threadName, delay): 
    count = 0 
    while count < 5: 
     time.sleep(delay) 
     count += 1 
     print "%s: %s" % (threadName, time.ctime(time.time())) 

# Create two threads as follows 
try: 
    thread.start_new_thread(print_time, ("Thread-1", 2,)) 
    thread.start_new_thread(print_time, ("Thread-2", 4,)) 
except: 
    print "Error: unable to start thread" 

print "HELLO" 

それも、エラーまたは例外を生成しません。

答えて

0

問題あなただけの最後に、メインスレッドに遅延を入れて、スレッドのいずれかのための出力を見ることができる前に、あなたのメインスレッドが終了することです:あなたはthreadingを使用していた場合

print "HELLO" 
time.sleep(20) 

モジュールでは、スレッド.join()を使用して終了するまで待機することもできますが、threadモジュールの同等の機能はわかりません。

+0

ありがとうございました! – shapiro

関連する問題