python線程鎖(thread)學(xué)習(xí)示例
# encoding: UTF-8
import thread
import time
# 一個(gè)用于在線程中執(zhí)行的函數(shù)
def func():
for i in range(5):
print 'func'
time.sleep(1)
# 結(jié)束當(dāng)前線程
# 這個(gè)方法與thread.exit_thread()等價(jià)
thread.exit() # 當(dāng)func返回時(shí),線程同樣會(huì)結(jié)束
# 啟動(dòng)一個(gè)線程,線程立即開始運(yùn)行
# 這個(gè)方法與thread.start_new_thread()等價(jià)
# 第一個(gè)參數(shù)是方法,第二個(gè)參數(shù)是方法的參數(shù)
thread.start_new(func, ()) # 方法沒有參數(shù)時(shí)需要傳入空tuple
# 創(chuàng)建一個(gè)鎖(LockType,不能直接實(shí)例化)
# 這個(gè)方法與thread.allocate_lock()等價(jià)
lock = thread.allocate()
# 判斷鎖是鎖定狀態(tài)還是釋放狀態(tài)
print lock.locked()
# 鎖通常用于控制對(duì)共享資源的訪問
count = 0
# 獲得鎖,成功獲得鎖定后返回True
# 可選的timeout參數(shù)不填時(shí)將一直阻塞直到獲得鎖定
# 否則超時(shí)后將返回False
if lock.acquire():
count += 1
# 釋放鎖
lock.release()
# thread模塊提供的線程都將在主線程結(jié)束后同時(shí)結(jié)束
time.sleep(6)
thread 模塊提供的其他方法:
thread.interrupt_main(): 在其他線程中終止主線程。
thread.get_ident(): 獲得一個(gè)代表當(dāng)前線程的魔法數(shù)字,常用于從一個(gè)字典中獲得線程相關(guān)的數(shù)據(jù)。這個(gè)數(shù)字本身沒有任何含義,并且當(dāng)線程結(jié)束后會(huì)被新線程復(fù)用。
thread還提供了一個(gè)ThreadLocal類用于管理線程相關(guān)的數(shù)據(jù),名為 thread._local,threading中引用了這個(gè)類。
相關(guān)文章
django admin 自定義替換change頁面模板的方法
今天小編就為大家分享一篇django admin 自定義替換change頁面模板的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08
淺談Keras的Sequential與PyTorch的Sequential的區(qū)別
這篇文章主要介紹了淺談Keras的Sequential與PyTorch的Sequential的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Pytorch實(shí)現(xiàn)常用乘法算子TensorRT的示例代碼
pytorch 用于訓(xùn)練,TensorRT用于推理是很多AI應(yīng)用開發(fā)的標(biāo)配。大家往往更加熟悉 pytorch 的算子,而不太熟悉TensorRT的算子。本文介紹了Pytorch中常用乘法的TensorRT實(shí)現(xiàn),感興趣的可以了解一下2022-06-06
PyQt彈出式對(duì)話框的常用方法及標(biāo)準(zhǔn)按鈕類型
這篇文章主要為大家詳細(xì)介紹了PyQt彈出式對(duì)話框的常用方法及標(biāo)準(zhǔn)按鈕類型,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
pytest官方文檔解讀Fixture?errors拋錯(cuò)解決
這篇文章主要為大家介紹了pytest官方文檔解讀Fixture?errors拋錯(cuò)后的解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
django rest framework 過濾時(shí)間操作
這篇文章主要介紹了django rest framework 過濾時(shí)間操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07
利用Python實(shí)現(xiàn)多種風(fēng)格的照片處理
這篇文章主要為大家詳細(xì)介紹了如何利用Python一鍵實(shí)現(xiàn)多種風(fēng)格的照片處理并制作可視化GUI界面,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-07-07

