1. 程式人生 > 程式設計 >Python多執行緒threading建立及使用方法解析

Python多執行緒threading建立及使用方法解析

一、執行緒建立方法

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()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。