whitesock

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

          2012年2月8日 #

          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 @ 2012-02-08 00:27 whitesock 閱讀(227) | 評論 (0)編輯 收藏

          僅列出標題  
          主站蜘蛛池模板: 福安市| 井冈山市| 定西市| 正蓝旗| 隆尧县| 商都县| 汉源县| 噶尔县| 新泰市| 昌乐县| 大名县| 邳州市| 利津县| 桃江县| 来凤县| 竹山县| 永丰县| 南川市| 郴州市| 无锡市| 内丘县| 罗定市| 望江县| 灵寿县| 陆河县| 安吉县| 阿图什市| 莱芜市| 丽水市| 贵阳市| 牙克石市| 雅江县| 固原市| 桦甸市| 福安市| 樟树市| 上虞市| 绥滨县| 阿尔山市| 潞城市| 吉木乃县|