多執行緒鎖 event和守護執行緒

2021-10-25 19:00:35 字數 881 閱讀 6002

1、lock=threading.lock() 只允許乙個執行緒執行

2、semaphore=threading.boundedsemaphore(5) 最多允許同時執行5個程序

def

test()

:# 在子執行緒中使用鎖

lock.acquire(

)print()

lock.release(

) semaphore.acquire(

)print()

semaphore.release(

)lock=threading.lock(

)#只允許乙個執行緒執行

semaphore=threading.boundedsemaphore(5)

# 最多允許同時執行5個程序

t1=threading.thread(target=teat)

多執行緒event的作用:乙個子執行緒中設定event狀態,另乙個子執行緒判斷event狀態來控制該子執行緒是否堵塞

event.set()和event.clear()控制event狀態

event.is_set()判斷event狀態,如果處於event.clear()狀態,子執行緒設定堵塞event.wait

設定守護執行緒之後,當主線程結束時,子執行緒也將立即結束,不再執行。

為了讓設定了守護執行緒的子執行緒完全執行需要加上join()讓主線程等待子執行緒執行結束

t=threading.thread(target=test)

t.setdaemon(

true

)#把子程序設定為守護執行緒,必須在start()之前設定

t.start(

)t.join(

)

python執行緒鎖 守護執行緒,程序鎖 守護程序

1 守護程序 1.1 什麼是守護程序?1 守護程序會在主程序 執行結束的情況下,立即結束。2 守護程序本身其實就是乙個子程序。3 主程序在其 結束後已經執行完畢 守護程序在此時就被 然後主程序會一直等非守護的子程序都執行完畢後 子程序的資源才會結束。1.2 為什麼要用守護程序?1 守護程序本身就是乙...

javaSE 多執行緒(守護執行緒)

我們一般使用多執行緒,都是while 的死迴圈,想要結束執行緒,只需退出死迴圈即可 當執行緒中呼叫了sleep 方法或者 wait 方法,當前的執行緒就會進入凍結狀態,這個執行緒就結束不了 呼叫thread 物件的interrupt 方法,可以強制解凍,此時 run 方法中需要捕獲到 interru...

多執行緒 13 守護執行緒

執行緒分為兩大類 使用者執行緒和守護執行緒 daemon 一般預設為使用者執行緒,守護執行緒不看虛擬機器的臉色,而是看使用者執行緒的臉色,虛擬機器必須確保使用者執行緒執行完畢,守護執行緒是為使用者執行緒服務的,不用等它執行完畢,它默默的為我們服務比如後台日誌,監控記憶體。練習 package com...