国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python線程鎖(thread)學習示例

2020-02-23 05:00:08
字體:
來源:轉載
供稿:網友

代碼如下:
# 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, ()) # 方法沒有參數時需要傳入空tuple

# 創建一個鎖(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中引用了這個類。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 郎溪县| 婺源县| 沙湾县| 大荔县| 潢川县| 绍兴县| 涪陵区| 嵩明县| 甘孜| 屯门区| 道真| 和平县| 襄城县| 乃东县| 汨罗市| 交口县| 延庆县| 古丈县| 青浦区| 中方县| 寿阳县| 久治县| 济南市| 蓝山县| 治多县| 油尖旺区| 临海市| 年辖:市辖区| 天门市| 余江县| 铜山县| 陕西省| 额尔古纳市| 滁州市| 根河市| 太湖县| 禹州市| 雷波县| 福贡县| 新竹市| 芜湖市|