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

          線程安全類

          Posted on 2010-11-15 13:53 leekiang 閱讀(295) 評論(0)  編輯  收藏 所屬分類: java
          當一個類已經(jīng)很好的同步以保護它的數(shù)據(jù)時,這個類就稱為“線程安全的”。
          即使是線程安全類,也應該特別小心,因為操作的線程是間仍然不一定安全。

          import?java.util.Collections;
          import?java.util.LinkedList;
          import?java.util.List;

          public?class?TestThread?{
          ????
          public?static?void?main(String[]?args)?{
          ????????
          final?NameList?nl?=?new?NameList();
          ????????nl.add(
          "aaa");
          ????????
          class?NameDropper?extends?Thread?{
          ????????????
          public?void?run()?{
          ????????????????String?name?
          =?nl.removeFirst();
          ????????????????System.out.println(name);
          ????????????}
          ????????}
          ????????Thread?t1?
          =?new?NameDropper();
          ????????Thread?t2?
          =?new?NameDropper();
          ????????t1.start();
          ????????t2.start();
          ????}
          }

          class?NameList?{
          ????
          private?List?nameList?=?Collections.synchronizedList(new?LinkedList());

          ????
          public?void?add(String?name)?{
          ????????nameList.add(name);
          ????}
          ????
          public?String?removeFirst()?{//removeFirst方法必須同步
          ????????if?(nameList.size()?>?0)?{
          ????????????
          try?{
          ????????????????Thread.sleep(
          100);
          ????????????}?
          catch?(InterruptedException?e)?{
          ????????????????e.printStackTrace();
          ????????????}
          ????????????
          return?(String)?nameList.remove(0);
          ????????}?
          else?{
          ????????????
          return?null;
          ????????}
          ????}
          }



          http://lavasoft.blog.51cto.com/62575/99155
          主站蜘蛛池模板: 陵川县| 福清市| 孟津县| 双辽市| 澄江县| 宣化县| 顺昌县| 大竹县| 抚松县| 德兴市| 攀枝花市| 车险| 手机| 静宁县| 牡丹江市| 宝丰县| 沂水县| 平远县| 汤阴县| 高安市| 南汇区| 滦南县| 六枝特区| 微博| 中江县| 福州市| 文山县| 句容市| 柞水县| 阜南县| 新源县| 石台县| 洛隆县| 左云县| 武平县| 宁陵县| 南岸区| 民勤县| 台中市| 莆田市| 灵璧县|