whitesock

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            10 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

          2012年2月8日 #

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

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

          僅列出標(biāo)題  
          主站蜘蛛池模板: 清水河县| 天津市| 自贡市| 德惠市| 灵璧县| 大丰市| 凤山市| 禹州市| 双柏县| 德惠市| 建瓯市| 迁安市| 大渡口区| 读书| 酉阳| 射阳县| 安徽省| 天镇县| 哈巴河县| 余干县| 铁岭县| 乌拉特后旗| 洛阳市| 凤城市| 车致| 泾川县| 蓬莱市| 太原市| 巴南区| 鄂尔多斯市| 长子县| 铜梁县| 吕梁市| 仁化县| 嘉义县| 讷河市| 胶州市| 孟州市| 沁阳市| 利川市| 德昌县|