日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
在Python定時(shí)器中Lock的實(shí)際應(yīng)用操作方案詳解

Python定時(shí)器是計(jì)算機(jī)常用的計(jì)算機(jī)語言,在其廣泛的實(shí)際應(yīng)用操作中會(huì)涉及到Lock的實(shí)際應(yīng)用,如果你對(duì)Python定時(shí)器中Lock的實(shí)際應(yīng)用感興趣的話,你可以通過我們的文章對(duì)其有更深的了解。

在Python定時(shí)器中Lock的實(shí)際應(yīng)用

Lock/RLock 和 C# lock 關(guān)鍵字差不多意思。不同的是,Lock/RLock 只需 "鎖定" 自己,而 C# lock 還得另外找個(gè)引用類型對(duì)象。Lock 有個(gè)問題就是同一個(gè)線程內(nèi)部也不能多次 "鎖定",否則會(huì)死鎖。RLock 沒有這個(gè)問題,它會(huì)處理 "owning thread" 和 "recursion level" 狀態(tài),對(duì)于同一線程的多次請(qǐng)求鎖行為,只累加計(jì)數(shù)器。

每次調(diào)用 release() 將遞減該計(jì)數(shù)器,直到 0 時(shí)釋放鎖,因此記住 acquire() 和 release() 要成對(duì)出現(xiàn)。直接用 RLock,忘了 Lock 吧。

非鎖定版本:

 
 
 
  1. def test():  
  2. for i in range(3):  
  3. print currentThread().name, i  
  4. sleep(1)  
  5. for i in range(2):  
  6.  
  7. Thread(target = test).start()   

 

輸出:

 
 
 
  1. $ ./main.py  
  2. Thread-1 0  
  3. Thread-2 0  
  4. Thread-1 1  
  5. Thread-2 1  
  6. Thread-1 2  
  7. Thread-2 2   

 

鎖定版本:

 
 
 
  1. lock = RLock()  
  2. def test():  
  3. lock.acquire()  
  4. try:  
  5. for i in range(3):  
  6. print currentThread().name, i  
  7. sleep(1)  
  8. finally:  
  9. lock.release()  
  10. for i in range(2):  
  11. Thread(target = test).start()   

 

輸出:

 
 
 
  1. $ ./main.py  
  2. Thread-1 0  
  3. Thread-1 1  
  4. Thread-1 2  
  5. Thread-2 0  
  6. Thread-2 1  
  7. Thread-2 2   

 

RLock 實(shí)現(xiàn)了 Context Management Protocol,會(huì)自動(dòng)調(diào)用 acquire() 和 release() 函數(shù),因此直接用 with/as 來實(shí)現(xiàn) C# "lock(o) { ... }"。

 
 
 
  1. lock = RLock()  
  2. def test():  
  3. with lock:  
  4. for i in range(3):  
  5. print currentThread().name, i  
  6. sleep(1)  
  7. for i in range(2):  
  8. Thread(target = test).start()   

文章標(biāo)題:在Python定時(shí)器中Lock的實(shí)際應(yīng)用操作方案詳解
標(biāo)題來源:http://www.dlmjj.cn/article/dhioodd.html