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實現
          主站蜘蛛池模板: 金塔县| 公主岭市| 永安市| 房产| 五峰| 兴业县| 磴口县| 宣化县| 龙里县| 嘉荫县| 聂拉木县| 锡林郭勒盟| 安塞县| 法库县| 海盐县| 延长县| 甘谷县| 清水河县| 木兰县| 陈巴尔虎旗| 漳浦县| 东丰县| 屯留县| 库尔勒市| 神木县| 洛南县| 四川省| 乾安县| 河北省| 绥阳县| 台州市| 鄂托克旗| 彰武县| 修文县| 河北省| 石阡县| 会宁县| 呼玛县| 滕州市| 长寿区| 临汾市|