whitesock

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

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

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

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

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 高平市| 县级市| 高台县| 饶平县| 玉林市| 余干县| 翁牛特旗| 宁河县| 金门县| 永康市| 玉林市| 正安县| 翁牛特旗| 长宁区| 宝兴县| 长岛县| 余干县| 新建县| 竹北市| 东城区| 望谟县| 崇阳县| 禹州市| 斗六市| 淮南市| 天水市| 高州市| 法库县| 福海县| 遂平县| 保亭| 新宁县| 读书| 郸城县| 桂林市| 冕宁县| 隆回县| 澳门| 壤塘县| 泰宁县| 陆良县|