今天學習了python中的執行緒加鎖功能,為了方便記憶,特地把**附上:
# coding:utf-8
# 給執行緒加鎖
import time
import thread
def t(name,x,lock):
for i in xrange(x):
print i, name
time.sleep(1) #暫停1秒
lock.release() #釋放鎖
lock = thread.allocate_lock() #建立鎖物件
lock.acquire() #加鎖
thread.start_new_thread(t, ("動畫", 5, lock)) #執行
while lock.locked(): #鎖狀態
pass
執行截圖:
在沒有加鎖的情況下,程式有:
執行結果:
從執行結果來看,動畫和聲音是交替進行了,並且時間的執行時間為5秒,並不是10秒鐘,這樣相當於節省了cup的時間。
python 多執行緒 thread 加鎖(二)
thread.start new thread function,args kwargs 函式原型,其中function引數是你將要呼叫的執行緒函式名稱沒有括號 args是講傳遞給你的執行緒函式的引數,他必須是個tuple型別 而kwargs是可選的引數,如果沒有引數,也一定是 import thr...
Python多執行緒讀寫檔案加鎖
python的多執行緒在io方面比單執行緒還是有優勢,但是在多執行緒開發時,少不了對檔案的讀寫操作。在管理多個執行緒對同一檔案的讀寫操作時,就少不了檔案鎖了。在linux下,python的標準庫有現成的檔案鎖,來自於fcntl模組。這個模組提供了unix系統fcntl 和ioctl 的介面。對於檔案...
iOS執行緒加鎖
加鎖 synchronized self 解鎖 關於加鎖,這裡有乙個東西.關於這個語法 property.每次我們定義 乙個屬性的時候,會首當其衝的寫上nonatomic,這是為什麼?請看下面解說 nonatomic與atomic在 property中的不同 都知道,這兩個關鍵字代表的是同乙個東西,...