MDA/MDD/TDD/DDD/DDDDDDD
          posts - 536, comments - 111, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          java多線程筆記

          Posted on 2008-09-08 02:06 leekiang 閱讀(187) 評論(0)  編輯  收藏 所屬分類: java
          1,java實現多線程有兩種方式,一種是調用一個繼承Thread的實例的start()方法,另外一種是實例化一個Thread,構造函數的參數是一個實現了Runnable接口的類的實例.一般都是使用后一種,因為只有后一種才方便讓多個線程操作同一個資源
          2,多個線程用同一段代碼操作同一個資源時,可能會不同步,這時用synchronized.
          ? 對于代碼塊,格式為synchronized(對象){代碼} 在多線程里這個對象必須保證是同一個對象(每個對象都有表示是否上鎖的一個標志位)。注意:使用synchronized("test")與synchronized(new String("test"))
          是有區別的,后者達不到同步的效果。
          ? 對于方法,在方法名前加一個synchronized,這里暗合synchronized(this)



          5,不錯的入門例子:
          http://developers.sun.com.cn/javapassion/handsonlabs/javase/javathreads_index.html

          6,
          servlet就是一個守護線程
          java回收線程也是

          7,
          CountDownLatch如其所寫,是一個倒計數的鎖存器,當計數減至0時觸發特定的事件。利用這種特性,可以讓主線程等待子線程的結束。
          在一些應用場合中,某段程序需要等待某個條件達到要求后才能執行,或者等待一定長的時間后此行,從jdk1.5開始就可以使用CountDownLatch實現
          主站蜘蛛池模板: 波密县| 合水县| 晴隆县| 砀山县| 修水县| 内丘县| 丽江市| 十堰市| 贵阳市| 朔州市| 方城县| 兴安盟| 东莞市| 凭祥市| 甘谷县| 广西| 辽阳县| 赣州市| 通州市| 丽水市| 太康县| 青浦区| 大丰市| 苏尼特左旗| 海盐县| 吉林市| 体育| 重庆市| 临沧市| 南充市| 抚顺县| 龙陵县| 金川县| 扎兰屯市| 陕西省| 林甸县| 大渡口区| 沛县| 台前县| 左贡县| 河曲县|