python線程鎖(thread)學習示例
# encoding: UTF-8
import thread
import time
# 一個用于在線程中執(zhí)行的函數(shù)
def func():
for i in range(5):
print 'func'
time.sleep(1)
# 結(jié)束當前線程
# 這個方法與thread.exit_thread()等價
thread.exit() # 當func返回時,線程同樣會結(jié)束
# 啟動一個線程,線程立即開始運行
# 這個方法與thread.start_new_thread()等價
# 第一個參數(shù)是方法,第二個參數(shù)是方法的參數(shù)
thread.start_new(func, ()) # 方法沒有參數(shù)時需要傳入空tuple
# 創(chuàng)建一個鎖(LockType,不能直接實例化)
# 這個方法與thread.allocate_lock()等價
lock = thread.allocate()
# 判斷鎖是鎖定狀態(tài)還是釋放狀態(tài)
print lock.locked()
# 鎖通常用于控制對共享資源的訪問
count = 0
# 獲得鎖,成功獲得鎖定后返回True
# 可選的timeout參數(shù)不填時將一直阻塞直到獲得鎖定
# 否則超時后將返回False
if lock.acquire():
count += 1
# 釋放鎖
lock.release()
# thread模塊提供的線程都將在主線程結(jié)束后同時結(jié)束
time.sleep(6)
thread 模塊提供的其他方法:
thread.interrupt_main(): 在其他線程中終止主線程。
thread.get_ident(): 獲得一個代表當前線程的魔法數(shù)字,常用于從一個字典中獲得線程相關(guān)的數(shù)據(jù)。這個數(shù)字本身沒有任何含義,并且當線程結(jié)束后會被新線程復用。
thread還提供了一個ThreadLocal類用于管理線程相關(guān)的數(shù)據(jù),名為 thread._local,threading中引用了這個類。
相關(guān)文章
利用django model save方法對未更改的字段依然進行了保存
這篇文章主要介紹了利用django model save方法對未更改的字段依然進行了保存,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03Pycharm2017版本設(shè)置啟動時默認自動打開項目的方法
今天小編就為大家分享一篇Pycharm2017版本設(shè)置啟動時默認自動打開項目的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10Python實現(xiàn)的使用telnet登陸聊天室實例
這篇文章主要介紹了Python實現(xiàn)的使用telnet登陸聊天室,以實例形式較為詳細的分析了Python實現(xiàn)聊天室及Telnet登陸的相關(guān)技巧,需要的朋友可以參考下2015-06-06python創(chuàng)建學生成績管理系統(tǒng)
這篇文章主要為大家詳細介紹了python創(chuàng)建學生成績管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-11pytest解讀fixtures之Teardown處理yield和addfinalizer方案
這篇文章主要為大家介紹了pytest解讀fixtures之Teardown處理yield和addfinalizer的方案實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06Python 數(shù)據(jù)分析之逐塊讀取文本的實現(xiàn)
這篇文章主要介紹了Python 數(shù)據(jù)分析之逐塊讀取文本的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12