多核心與同步
關於計數型號誌(counting semaphore)的用法,下列何者最適當?
- A一定將某個變數的值變成2倍
- B將程式的執行全部集中到一個執行緒
- C讓同時可使用數量有限的資源(例如:連線最多4條),最多供4個執行緒同時使用
查看答案與解析
正確答案:C. 讓同時可使用數量有限的資源(例如:連線最多4條),最多供4個執行緒同時使用
號誌擁有表示剩餘數量的計數器,使用前先減1(若為0就等到增加為止),用完後加1。若將初始值設為4,同時最多可有4個執行緒使用資源。若初始值設為1,則可像鎖一樣用於互斥。一般而言,等待中的執行緒會休眠,並由作業系統喚醒。
- A. 它不是用來計算數值的。
- B. 它是用來限制平行執行的,但並非集中成一個。
- C. 正確。以計數器管理剩餘的數量。