Python的多執行緒 多程序

2021-07-13 23:06:06 字數 1102 閱讀 6053

python的執行緒使用方式跟程序的使用方式類似,這裡通過執行緒來演示。

存在兩種產生執行緒的方式

1. 直接使用thread

2. 繼承thread

直接使用thread的方式:

def

func

(): print('thread start')

print('thread end')

if __name__ == '__main__':

t = thread(target=func)

t.start()

t.join()

繼承thread的方式:

from time import sleep

from threading import thread, lock

class

mythread

(thread):

def__init__

(self, name, lock):

super(mythread, self).__init__(name=name)

self.lock = lock

defrun(self):

with self.lock:

print('my name is %s, i will sleep 2 seconds' % self.name)

sleep(2)

print('i wake up now.')

if __name__ == '__main__':

lock = lock()

mt1 = mythread('t1', lock)

mt2 = mythread('t2', lock)

mt1.start(); mt2.start()

mt1.join(); mt2.join()

print('main thread end!')

thread的關鍵函式:

start(), 啟動執行緒,此函式應且僅應被呼叫一次。

run(), 過載函式,當呼叫start時將被呼叫。

join(),呼叫者執行緒將等待 被呼叫者執行緒 執行完成。

python多執行緒 多程序

background task once join is used whether deamon attribute is true is not importantonly useful when the main program is running ok to kill starmap和map...

python多執行緒 多程序

threading相對與thread是更高階別的執行緒管理模組 thread和threading模組中的一些屬性會有衝突 thread模組擁有的同步原因實際上只有乙個lock,而threading有很多 lock,semaphore等 使用thread模組執行緒,當主線程結束時其子執行緒也會被強制結...

python多執行緒多程序

執行緒等待,多執行緒在執行的時候,每個執行緒都是獨立執行的,不受其他的執行緒干擾,如果想在哪個執行緒執行完之後,再做其他操作的話,就得等待它完成,那怎麼等待呢,使用join,等待執行緒結束 for t in threads 等待3個子執行緒 t.join 主線程等待子執行緒 end time tim...