python線程鎖(thread)學習示例
來源:易賢網(wǎng) 閱讀:1976 次 日期:2014-05-19 21:12:33
溫馨提示:易賢網(wǎng)小編為您整理了“python線程鎖(thread)學習示例”,方便廣大網(wǎng)友查閱!

pythonthread提供了低級別的、原始的線程以及一個簡單的鎖,下面提供一個python線程線程鎖(thread)學習示例,大家參考使用

代碼如下:

#encoding:UTF-8

importthread

importtime#一個用于在線程中執(zhí)行的函數(shù)

deffunc():

foriinrange(5):

print'func'

time.sleep(1)#結束當前線程

#這個方法與thread.exit_thread()等價

thread.exit()#當func返回時,線程同樣會結束#啟動一個線程,線程立即開始運行

#這個方法與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)

printlock.locked()#鎖通常用于控制對共享資源的訪問

count=0#獲得鎖,成功獲得鎖定后返回True

#可選的timeout參數(shù)不填時將一直阻塞直到獲得鎖定

#否則超時后將返回False

iflock.acquire():

count+=1#釋放鎖

lock.release()#thread模塊提供的線程都將在主線程結束后同時結束

time.sleep(6)

thread模塊提供的其他方法:

thread.interrupt_main():在其他線程中終止主線程。

thread.get_ident():獲得一個代表當前線程的魔法數(shù)字,常用于從一個字典中獲得線程相關的數(shù)據(jù)。這個數(shù)字本身沒有任何含義,并且當線程結束后會被新線程復用。thread還提供了一個ThreadLocal類用于管理線程相關的數(shù)據(jù),名為thread._local,threading中引用了這個類。

更多信息請查看IT技術專欄

更多信息請查看腳本欄目
易賢網(wǎng)手機網(wǎng)站地址:python線程鎖(thread)學習示例
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權所有:易賢網(wǎng)