day51 執行緒 條件

2022-08-24 10:03:12 字數 1042 閱讀 7605

#

條件: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...