hello world

          隨筆 - 2, 文章 - 63, 評論 - 0, 引用 - 0
          數據加載中……

          synchronized 小記

          synchronized是一個關鍵字,他的作用就是給canvas加互斥鎖標記
          他可以鎖方法,也可以鎖一段代碼塊

          synchronized(變量canvas){代碼塊}這種格式就是鎖定該代碼塊中的這個變量

          當一個線程執行到代碼塊里之后
          canvas的鎖就交給了這個對象
          其他的線程就不能執行這段代碼塊了,只能等待正在執行的那個線程執行完了那段代碼塊之后,才有機會拿到canvas的鎖標記,這樣他才有機會去執行那段代碼


          比喻
          canvas是一個漂亮的小妞,她被synchronized修飾了,她就有一鎖標記,只有拿到這把鎖標記的人才可以是她的男朋友
          現在我很幸運,拿到了這把鎖,我就可以調用這小妞的牽手方法,接吻方法,等等。
          但是就在我和她交往的同時,你也要和她牽手,或者更多的男人要和她牽手,
          對不起,你沒拿到鎖,不能有這些方法調用,你和他們就只能等待,等到什么時候呢,等到我和她分手為止,到分手的時候,我就釋放了她的鎖標記,你和其他的男人就去搶......

          這里的小妞就是canvas對象
          我和你們都是一個線程
          加了synchronized,就防止了多線程并發訪問的不好后果~

          posted on 2008-08-19 15:51 聽風 閱讀(146) 評論(0)  編輯  收藏 所屬分類: JAVA

          主站蜘蛛池模板: 全南县| 墨脱县| 柳州市| 丰城市| 金山区| 伊吾县| 刚察县| 丰顺县| 河池市| 裕民县| 苍山县| 靖西县| 乃东县| 满城县| 凤台县| 永定县| 漯河市| 漳平市| 常州市| 吉木萨尔县| 东丰县| 乌兰浩特市| 襄垣县| 阿尔山市| 惠安县| 永安市| 隆尧县| 德钦县| 莱西市| 肇州县| 酒泉市| 长沙市| 阿拉善右旗| 昭觉县| 徐汇区| 青州市| 茂名市| 夏河县| 洪泽县| 济南市| 连州市|