Python線程下Timer對(duì)象、Lock對(duì)象和Rlock對(duì)象的簡(jiǎn)單介紹
來(lái)源:懂視網(wǎng)
責(zé)編:小采
時(shí)間:2020-11-27 14:21:10
Python線程下Timer對(duì)象、Lock對(duì)象和Rlock對(duì)象的簡(jiǎn)單介紹
Python線程下Timer對(duì)象、Lock對(duì)象和Rlock對(duì)象的簡(jiǎn)單介紹:本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于Python線程下Timer對(duì)象、Lock對(duì)象和Rlock對(duì)象的簡(jiǎn)單介紹,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。Timer對(duì)象、Lock對(duì)象、Rlock對(duì)象Timer對(duì)象Timer對(duì)象用于在稍后的某個(gè)時(shí)間執(zhí)行一個(gè)函數(shù)。語(yǔ)法:t=T
導(dǎo)讀Python線程下Timer對(duì)象、Lock對(duì)象和Rlock對(duì)象的簡(jiǎn)單介紹:本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于Python線程下Timer對(duì)象、Lock對(duì)象和Rlock對(duì)象的簡(jiǎn)單介紹,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。Timer對(duì)象、Lock對(duì)象、Rlock對(duì)象Timer對(duì)象Timer對(duì)象用于在稍后的某個(gè)時(shí)間執(zhí)行一個(gè)函數(shù)。語(yǔ)法:t=T

本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于Python線程下Timer對(duì)象、Lock對(duì)象和Rlock對(duì)象的簡(jiǎn)單介紹,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。
Timer對(duì)象、Lock對(duì)象、Rlock對(duì)象
Timer對(duì)象
Timer對(duì)象用于在稍后的某個(gè)時(shí)間執(zhí)行一個(gè)函數(shù)。
語(yǔ)法:
t=Timer(interval,func,args,kwargs)
創(chuàng)建定時(shí)器對(duì)象,在interval秒后運(yùn)行函數(shù)func,args和kwargs提供傳遞給func的參數(shù)和關(guān)鍵字參數(shù)。
在調(diào)用start()方法后才能啟動(dòng)計(jì)定時(shí)器。
常用方法:
t.start():啟動(dòng)定時(shí)器。
t.cancal():如果函數(shù)還未執(zhí)行,取消定時(shí)器。
Lock對(duì)象
原始鎖(互斥鎖)是一個(gè)同步原語(yǔ),狀態(tài)有兩種:『已鎖定』、『未鎖定』。
如果狀態(tài)已經(jīng)鎖定,嘗試獲取鎖將阻塞,直到鎖被釋放為止。如果有多個(gè)線程等待獲取鎖,當(dāng)鎖被釋放時(shí),只有一個(gè)線程獲得它,獲取順序是不定的。
語(yǔ)法:
創(chuàng)建新的Lock對(duì)象,初始狀態(tài)為未鎖定。
常用方法:
lock.acquire(blocking):獲取鎖,如果有必要,需要阻塞到釋放鎖為止。
如果blocking為false,當(dāng)無(wú)法獲取鎖時(shí)將立即返回False,如果成功獲取鎖則返回True。
lock.release():釋放一個(gè)鎖,當(dāng)鎖處于未鎖定狀態(tài)時(shí),或者從與原本調(diào)用acquire()方法的線程的不同線程調(diào)用此方法,將會(huì)報(bào)錯(cuò)。
Rlock對(duì)象
可重入鎖是一個(gè)類似于Lock對(duì)象的同步原語(yǔ),但同一個(gè)線程可以多次獲取它。
它允許擁有鎖的線程執(zhí)行嵌套的acquire()和release()操作。在這種情況下,只有最外層的Release()操作才能將鎖重置微未鎖定狀態(tài)。
語(yǔ)法:
創(chuàng)建新的可重入鎖對(duì)象。
常用方法:
rlock.acquire(blocking):獲取鎖,如果有必要,需要阻塞到鎖釋放為止。
如果沒(méi)有線程擁有鎖,它將被鎖定,而且遞歸級(jí)別被置為1.
如果此線程已經(jīng)擁有鎖,鎖的遞歸級(jí)別加1,而且函數(shù)立即返回。
rlock.release():通過(guò)減少鎖的遞歸級(jí)別來(lái)釋放它。如果在減值后遞歸級(jí)別為0,鎖將被重置為未鎖定狀態(tài)。否則,鎖將保持已鎖定狀態(tài)。
只能由目前擁有鎖的線程來(lái)調(diào)用此方法。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
Python線程下Timer對(duì)象、Lock對(duì)象和Rlock對(duì)象的簡(jiǎn)單介紹
Python線程下Timer對(duì)象、Lock對(duì)象和Rlock對(duì)象的簡(jiǎn)單介紹:本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于Python線程下Timer對(duì)象、Lock對(duì)象和Rlock對(duì)象的簡(jiǎn)單介紹,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。Timer對(duì)象、Lock對(duì)象、Rlock對(duì)象Timer對(duì)象Timer對(duì)象用于在稍后的某個(gè)時(shí)間執(zhí)行一個(gè)函數(shù)。語(yǔ)法:t=T