#條件:condition、notify通知、notify_all、wait
#條件 = 遞迴鎖 + wait功能
#條件可以讓主線程控制多少個子執行緒可以執行。
import
threading
defplay(con,i):
con.acquire()
#所有人都拿到了鑰匙
con.wait() #
排隊玩遊戲,等待工作人員放行,收到notify發過來的訊號之後就不再阻塞。
print('
遊客%s可以玩遊戲了
'%i)
con.release()
con = threading.condition() #
條件物件
for i in range(10): #
有十個遊客
t = threading.thread(target=play,args=(con,i))
t.start()
while
true:
inp = input('
放行人數:
') #
工作人員每次可以放行多少個人
if inp == '
q':break
con.acquire()
#工作人員拿到鑰匙
con.notify(int(inp)) #
發出通知訊號:通知放行多少個人,notify後面必須跟int型別。
con.release()
#notify_all:放行所有執行緒
#while true:
#inp = input('放行人數:')
#if inp == 'q':break
#con.acquire()
#if inp == 'all':
#con.notify_all() #放行所有人
#else:
#con.notify(int(inp))
#con.release()
實習日記 Day51
今天是沒啥工作任務,自己找事幹的一天 今天也是盼望著放假回家的一天 工作任務輕的時候,其他同事都在幹啥呢?臨近年關,感覺大家都有一種要從公司撤退開溜的架勢。忍不住想 究竟是 期待回家 這件事帶給我不可名狀的充盈的幸福感,還是回家這件事本身更讓人幸福呢 畢竟啊,已經一年沒回家了 但是等真的回到家,看到...
django 實現分頁(專案day51)
實現學生資訊的展示的分頁 分頁views方法 def stupage request if request.method get 獲取傳過來的頁數的引數 page id request.get.get page id 1 stus student.objects.all 表示分頁,對stus資料分頁...
python 執行緒條件
條件 事件 訊號量本質上都是鎖,不常用 常用方法 obj,acquire obj.release obj.wait 建立是阻塞狀態,等待obj.notify 並且前後要有obj.acquire 和obj.release obj.notify num 前後要有obj.acquire 和obj.rele...