0
我需要編寫一個線程來模擬餐廳中的餐桌。 桌子有四個座位。隨機的時間客戶來,如果他們找到一個空座位,他們留下,否則他們離開。 你能幫我嗎? 感謝Linux線程 - 模擬餐廳表
我需要編寫一個線程來模擬餐廳中的餐桌。 桌子有四個座位。隨機的時間客戶來,如果他們找到一個空座位,他們留下,否則他們離開。 你能幫我嗎? 感謝Linux線程 - 模擬餐廳表
下面是一些僞代碼:
-- A Table Thread
integer num_free_seats := 4
loop forever
wait for customer c
if num_free_seats > 0
seat_customer(c)
num_freeSeats := num_free_seats - 1
else
throw_out_customer(c)
end if
所以你需要初始化在餐桌的座位數的信號。人們(大概是其他線程)檢查它。他們等待信號,直到他們進入。他們離開後發佈信息。如果他們真的需要立即離開,如果他們沒有坐下,那麼使用sem_trywait之類的東西。使用某種隨機的睡眠時間,他們在桌上多久。
你已經寫了什麼代碼?你有什麼需要幫助的? – Grammin 2011-05-11 15:29:53
這是功課嗎?問題還有更多嗎?桌上的人什麼時候離開? – Duck 2011-05-11 15:36:48
我創建了表的線程,但我有問題填充它 隨時隨地來去的人。 – Jim 2011-05-11 15:40:34