簡體   English   中英

Linux線程-模擬餐廳表

[英]Linux thread - simulate a restaurant table

我需要編寫一個模仿餐廳中餐桌的線程。 桌子有四個座位。 顧客隨機出現,如果發現空座位,他們會留下來,否則就會離開。 你能幫我么? 謝謝

這是一些偽代碼:

-- 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之類的東西。 在餐桌上使用某種隨機睡眠多長時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM