Python 建立多執行緒的方式

2021-08-08 15:42:22 字數 1548 閱讀 3243

1.使用_thread模組建立執行緒(python 2 裡面的thread) (不推薦使用)

def

loop

():

sleep(2)

_thread.start_new_thread(loop, ())

2.使用threading模組 (推薦使用)

1). 建立thread例項,傳給它乙個函式

def

loop

(sec):

sleep(sec)

t = threading.thread(target=loop, args=(5,) # 建立執行緒

t.start() # 啟動執行緒

t.join() # 等待執行緒執行結束

2).建立thread例項,傳給它乙個可呼叫的類例項

class

threadfunc

(object):

def__init__

(self, func, args, name=''):

self.name = name

self.func = func

self.args = args

def__call__

(self):

self.func(*self.args)

defloop

(sec):

sleep(sec)

t = threading.thread(target=threadfunc(loop, (5, ), loop.__name__)) # 建立執行緒

t.star()

t.join()

3)派生thread子類,並建立子類的例項

class

mythread

(threading.thread):

def__init__

(self, func, args, name=''):

threading.thread.__init__(self)

self.name = name

self.func = func

self.args = args

defrun(self):

self.func(*self.args)

defloop

(sec):

sleep(sec)

t = mythread(loop, (5,), loop.__name__) # 建立執行緒

t.star()

t.join()

ps:

# thread 模組不支援守護執行緒,當主線程退出時,所有子執行緒都將終止,不管他們是否仍在工作。

# threading 模組支援守護執行緒,在啟動執行緒之前執行 thread.daemon = true。當主線程將在所有非守護執行緒退出之後才退出。

# 守護執行緒:如果把乙個執行緒設定為守護執行緒,就表示這個執行緒是不重要的,主程序退出時不需要等待這個執行緒執行結束。

多執行緒的建立方式

1 繼承 thread 類 但 thread 本質上也是實現了 runnable 介面的乙個例項,它代表乙個執行緒的例項,並且,啟動執行緒的唯一方法就是通過 thread 類的 start 例項方法。start 方法是乙個 native 方法,它將啟動乙個新執行緒,並執行 run 方法。這種方式實現...

多執行緒之建立執行緒的方式

繼承thread類 1.新建乙個執行緒類繼承thread類 2.重寫run 3.在main方法中例項化執行緒物件 4.呼叫start public class thread01 class mythread extends thread 實現runnable介面 1.建立執行緒類並實現runnabl...

多執行緒 Callable執行緒建立方式

介面定義 callable介面 public inte ce callable runnable介面 public inte ce runnable 編寫類實現callable介面 實現call方法 class implements callable 建立futuretask物件 並傳入第一步編寫的...