Python之threading的多執行緒與執行緒同步

2021-10-05 00:17:03 字數 1565 閱讀 4560

import threading

import time

def a():

for i in range(5):

print('1')

time.sleep(1)

def b():

for i in range(5):

print('2')

time.sleep(2)

if __name__ == '__main__':

# 建立列表,存放執行緒

threads =

# 建立兩個執行緒

th1 = threading.thread(target=a)

th2 = threading.thread(target=b)

# 將兩個執行緒存放到上面的threads列表中

# 遍歷列表,啟動執行緒

for t in threads:

t.start()

# 遍歷列表,守護執行緒

for t in threads:

t.join()

使用執行緒同步的執行結果:                                 不使用執行緒同步的執行結果:

# 獲取鎖,用於執行緒同步

threadlock.acquire()

print('1')

time.sleep(1)

# 釋放鎖,開啟下乙個執行緒

threadlock.release()

def b():

for i in range(5):

# 獲取鎖,用於執行緒同步

threadlock.acquire()

print('2')

time.sleep(2)

# 釋放鎖,開啟下乙個執行緒

threadlock.release()

if __name__ == '__main__':

# 使用lock使多執行緒在共享資源時不會亂

threadlock = threading.lock()

# 建立列表,存放執行緒

threads =

# 建立兩個執行緒

th1 = threading.thread(target=a)

th2 = threading.thread(target=b)

# 將兩個執行緒存放到上面的threads列表中

# 遍歷列表,啟動執行緒

for t in threads:

t.start()

# 遍歷列表,守護執行緒

for t in threads:

t.join()

python中的執行緒使用 threading模組

最近又用到了python中的多執行緒程式設計,前段時間使用並學習過,但是由於長時間不用,慢慢就忘記怎麼用了,畢竟對執行緒的使用還不是很熟練,現在總結一下,記錄下來,加深一下學習的印象。python中關於執行緒,主要有兩個模組thread和threading,其中thread的模組已不建議使用,因為t...

11 2 Python多執行緒threading

分程序設定 工具 threading包 1 先寫需要分程序執行的函式或者類 defmaigic pass 2 例項化threading,得到新的程序 threadone threading.thread target maigic 此時還可以接受arg引數import threading impor...

Python3併發程式設計之threading模組

建立執行緒物件 threading.thread 引數 引數 描述group none 該類中的待擴充套件引數。target none 目標函式,即被開闢執行緒的執行任務。預設值為none,表示什麼都不執行。name none 該執行緒的名稱。在預設情況下,執行緒的唯一名稱以 thread n 的形...