whitesock

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            10 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

          Linux Kernel支持atomic bit operation。一個有意思的問題是:為什么有必要保證位操作的原子性?原因在于它會確保每次操作一定生效。例如對某個位進行兩次操作,分別是設置0和1,那么這兩次操作都會被執行,而不會被優化成一次性設置1。這在概念上有點類似epoll的edge trigger 和 level trigger。此外在Java SE中,由于偽喚醒的存在,我們都會在一個循環里check condition和wait。但是在被喚醒和下次check的時間間隔內,condition可能再次發生變化,從而導致錯過相應的事件。為了實現edge trigger,我們只能是自己實現一個versioned wait,貌似Java concurrent應該引入這樣一種同步原語。

          posted on 2012-02-08 00:27 whitesock 閱讀(228) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 清水河县| 齐齐哈尔市| 深泽县| 横山县| 裕民县| 望谟县| 将乐县| 石渠县| 永寿县| 崇文区| 旌德县| 安化县| 孟州市| 禹州市| 姜堰市| 樟树市| 诸暨市| 七台河市| 邢台市| 土默特右旗| 梧州市| 泰兴市| 西贡区| 郴州市| 安溪县| 木里| 黄冈市| 东乌珠穆沁旗| 宁海县| 清远市| 读书| 绵阳市| 涿鹿县| 宜昌市| 阿克苏市| 盘山县| 宁化县| 沙坪坝区| 昔阳县| 嘉善县| 聊城市|