Python 執行緒(一) 建立執行緒

2022-08-25 18:21:24 字數 1577 閱讀 1511

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 thread

def 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 threading

class 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 threading

def 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 啟動執行緒,預設呼叫...