python中有兩個執行緒模組,分別是thread和threading,threading是thread的公升級版。threading的功能更強大。
建立執行緒有3種方法:
1、thread模組的start_new_thread函式
2、繼承自threading.thread模組
3、用theading.thread直接返回乙個thread物件,然後執行它的start方法
方法一、thread模組的start_new_thread函式
**:
import threaddef hello(id = 0, interval = 2):
for i in filter(lambda x: x % interval == 0, range(10)):
print "thread id : %d, time is %d\n" % (id, i)
if __name__ == "__main__":
#thread.start_new_thread(hello, (1,2)) 這種呼叫形式也是可用的
#thread.start_new_thread(hello, (2,4))
thread.start_new_thread(hello, (), )
thread.start_new_thread(hello, (), )
方法二:繼承自threading.thread模組
注意:必須重寫run函式,而且想要執行應該呼叫start方法
import threadingclass mythread(threading.thread):
def __init__(self, id, interval):
threading.thread.__init__(self)
self.id = id
self.interval = interval
def run(self):
for x in filter(lambda x: x % self.interval == 0, range(10)):
print "thread id : %d time is %d \n" % (self.id, x)
if __name__ == "__main__":
t1 = mythread(1, 2)
t2 = mythread(2, 4)
t1.start()
t2.start()
t1.join()
t2.join()
方法三:用theading.thread直接返回乙個thread物件,然後執行它的start方法
import threadingdef hello(id, times):
for i in range(times):
print "hello %s time is %d\n" % (id , i)
if __name__ == "__main__":
t = threading.thread(target=hello, args=("hawk", 5))
t.start()
Python建立執行緒
python 提供了 thread 和 threading 兩個模組來支援多執行緒,其中 thread 提供低階別的 原始的執行緒支援,以及乙個簡單的鎖,正如它的名字所暗示的,一般程式設計不建議使用 thread 模組 而 threading 模組則提供了功能豐富的多執行緒支援。python 主要通...
Python多執行緒(一) 多執行緒的建立
在python3中,多執行緒主要使用threading模組 首先,來看乙個單任務模式的例子 import datetime,time defeat hotpot food for i in range 2 print datetime.datetime.now strftime x eat str ...
執行緒 建立執行緒
重寫run public void run 例項化物件 類名 t new 類名 設定屬性 名字,優先順序 優先順序是1 10的整數,1最小,預設是5 優先順序越高,該執行緒占用cpu的時間 機會 越多。id是自動生成 t.setname 執行緒1 t.setpriority 4 啟動執行緒,預設呼叫...