python執行緒鎖 thread 學習示例

2022-09-27 08:51:14 字數 1196 閱讀 7965

複製** **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...