Python多執行緒threading建立及使用方法解析
阿新 • • 發佈:2020-06-17
一、執行緒建立方法
1. 普通建立
import threading def run(name): for i in range(3): print(name) if __name__ == '__main__': t1 = threading.Thread(target=run,args=("t1",)) t2 = threading.Thread(target=run,args=("t2",)) t1.start() t2.start() -------------------------------------------- t1 t2 t2 t1 t2 t1
2. 自定義執行緒類
import threading class MyThread(threading.Thread): def __init__(self,name): super(MyThread,self).__init__() self.name = name def run(self): for i in range(3): print(self.name) if __name__ == "__main__": t1 = MyThread("t1") t2 = MyThread("t2") t1.start() t2.start()
二、執行緒的使用
1.守護執行緒
子執行緒會隨著主執行緒的結束而結束
t = threading.Thread(target=run,))
t.setDaemon(True) # 把子程序設定為守護執行緒,必須在start()之前設定
t.start()
2.主執行緒等待子執行緒結束
t = threading.Thread(target=run,))
t.setDaemon(True)
t.join() # 設定主執行緒等待子執行緒結束
t.start()
3.互斥鎖
from threading import Thread,Lock n = 10 def run(): global n locker.acquire() n -= 1 locker.release() if __name__ == '__main__': locker = Lock() t1 = Thread(target=run) t2 = Thread(target=run) t1.start() t2.start()
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。