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

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

信號量的原子操作是如何實現的?

信號量的原子操作是如何實現的?

Helenr 2019-04-08 11:16:51
操作系統有信號量(semaphore)的概念……檢查數值、修改變量值以及可能發生的休眠操作均為單一的、不可分割的原子操作完成。保證一個一個信號量操作開始,則在操作完成或阻塞之前,其他進程均不允許訪問該信號量。這種原子性對于解決同步問題和避免競爭條件是絕對比較的。以上是摘自《現代操作系統》中的一段話,我的問題是:信號量的原子操作是如何實現的?
查看完整描述

2 回答

?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

還記得小學上課的場景嗎?
當老師問:“這個問題誰能回答?”
如果這時候所有知道答案的小盆友全都站起來回答,你一句我一句整個課堂會亂套了。
于是老師定下規則發言之前必須舉手,由老師從舉手的同學中挑一個來回答。當一個同學答完后,老師再挑下一位同學來回答。
這里的“舉手”就是信號,通知給“老師”(操作系統),由“老師”(操作系統)統一進行調度。
所以整套機制的關鍵就是制定規則和執行調度的“老師”(操作系統)。
當你站在操作系統的角度,所有的線程都需要經過你來執行時,你會發現要實現信號量的實現并不難。
                            
查看完整回答
反對 回復 2019-04-08
  • 2 回答
  • 0 關注
  • 704 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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