複製** **lwbrgk如下:
# encoding: utf-8
import thread
import time
# 乙個用於**程中執行的函式
def func():
for i in range(5):
print 'func'
time.sleep(1)
# 結束當前執行緒
# 這個方法與thread.exit_thread()等價
thread.exit() # 當func返回時,執行緒同樣會結束
# 啟動乙個執行緒,執行緒立即開始執行
# 這個方法與thread.start_new_thread()等價
# 第乙個引數是方法,第二個引數是方法的引數
thread.start_new(func, ()程式設計客棧) # 方法沒有引數時需要傳入空www.cppcns.comtuple
# 建立乙個鎖(locktype,不能直接例項化)
# 這個方法與thread.allocate_lock()等價
lock = thread.allocate()
# 判斷鎖是鎖定狀態還是釋放狀態
print lock.locked()
# 鎖通常用於控制對共享資源的訪問
count = 0
# 獲得鎖,成功獲得鎖定後返回true
# 可選的timeout引數不填時將一直阻塞直到獲得鎖定
# 否則超時後將返回false
if lock.acquire():
count += 1
# 釋放鎖
lock.release()
# thread模組提供的執行緒都將在主線程結束後同時結束
time.sleep(6)
thread 模組提供的其他方法:
thread.interrupt_main(): 在其他執行緒中終止主線程。
thread.get_ident(): 獲得乙個代表當前執行緒的魔法數字,常用於從乙個字典中獲得執行緒相關的資料。這個數字本身沒有任何含義,並且當執行緒結束後會被新執行緒復用。
thread還提供了乙個threadlocal類用於管理執行緒相關的資料,名為 thread._local,threading中引用了這個類。
本文標題: python執行緒鎖(thread)學習示例
本文位址: /jiaoben/python/102398.html
python 多執行緒thread
python通過thread模組支援多執行緒,語法也很簡潔,現在通過乙個例項來看一下python中的多執行緒 import thread import time 保證只額外啟動乙個執行緒 isrunning false 啟動的時間控制,測試時間是23點44分,所以定的是這個時間,可以用於指定定時任務...
Python多執行緒Thread
import threading import time import random def worker name print name 開始執行.n 0 while true print name 輸出 str n n n 1 t random.randint 0,5 print name 休眠...
python中thread執行緒運用
coding utf 8 import thread from time import sleep,ctime loops 4,2 def loop nloop,nsec,lock print start loop nloop,at ctime sleep nsec print loop nloop...