亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

監控程序背后的邏輯

監控程序背后的邏輯

嗶嗶one 2023-10-12 16:52:18
我目前正在嘗試解決[本書]中發現的“男女通用浴室”問題,(http://greenteapress.com/semaphores/LittleBookOfSemaphores.pdf)限制是: - 如果浴室是空的,男性或女性都可以進入 - 如果浴室里有男性或女性,則只有相同性別可以進入 - 浴室里只能有兩個人讓我困惑的是,雖然我對邏輯如何工作的概念有一些了解,但我不確定在哪里/如何實現這段代碼。例如,我有一個名為“employee”的類,它擴展線程并可以設置一個變量來顯示他們是男性還是女性。我還有一個“浴室”類,它還擴展了包含稱為“正在使用”的信號量的線程,該信號量用于確定浴室是否已滿。我試圖實現書中找到的燈開關結構,我認為它只是一個監視器。我不明白這是如何鎖定特定類型的線程的。我的問題是,我在哪里存儲信號量變量,以及訪問它們以實現其余邏輯的最佳方法是什么?編輯:當我提到燈開關時,我指的是第 70 頁上的結構,而浴室問題位于第 170 頁上。浴室類包含:  Semaphore being_used = new Semaphore(1);員工類包含:    private String id;    private int time;    private String type;    private Boolean finished;    private Bathroom b_room;
查看完整描述

1 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

不讀這本書...信號量屬于浴室:如果您有三個浴室和七個用戶,那么您將擁有三個信號量,而不是一個,而不是七個。每當用戶申請進入浴室時都應獲取信號量許可證,并在向其發送退出消息或拒絕進入的用戶進入時釋放信號量許可證。



查看完整回答
反對 回復 2023-10-12
  • 1 回答
  • 0 關注
  • 101 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號