stone2083

          關于java多線程的幾個小貼士

          原文地址:
          http://weblogs.java.net/blog/caroljmcdonald/archive/2009/09/17/some-java-concurrency-tips

          大綱:

          Prefer immutable objects/data
          盡可能使用不變對象/數據

          Threading risks for Web applications
          注意web應用的線程安全問題

          Hold Locks for as short a time as possible
          持有鎖的時間盡可能短

          Prefer executors and tasks to threads
          盡可能使用JDK并發工具包提供的Executor框架,進行多線程操作

          Prefer Concurrency utilities to wait and notify
          盡可能使用JDK并發工具包提供的工具進行同步(等待和通知)

          • Concurrent Collections
            • ConcurrentMap
            • ConcurrentHashMap
            • COncurrentLinkedQueue
            • CopyOnWriteArrayList
          • BlockingQueue Implementations
            • ArrayBlockingQueue
            • LinkedBlockingQueue
            • PriorityBlockingQueue

          Producer Consumer Pattern
          了解生產者消費者模式

          Synchronizers
          同步器

          • Semaphore
          • CountDownLatch
          • CyclicBarrier
          • Exchanger

          Multithreaded Lazy Initialization is tricky
          多線程環境下,lazy init是一件棘手的事情

          Prefer Normal initialization
          盡可能使用正常的初始化(盡可能不要使用lazy init)


          posted on 2010-09-15 17:37 stone2083 閱讀(1928) 評論(2)  編輯  收藏

          Feedback

          # re: 關于java多線程的幾個小貼士 2010-09-16 07:54 韓國童裝批發

          最近在正了解JAVA多線程的東西,搜索到此,留下足跡!!!)|(  回復  更多評論   

          # re: 關于java多線程的幾個小貼士 2010-09-22 23:45 Princeton

          嗯 這幾個tips還是挺到位的!  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 富宁县| 舞阳县| 葵青区| 岚皋县| 赫章县| 荔波县| 托里县| 唐河县| 文成县| 琼结县| 固始县| 甘泉县| 綦江县| 道孚县| 加查县| 屯昌县| 同心县| 崇信县| 平湖市| 交口县| 雅江县| 齐河县| 麻城市| 蓬莱市| 神农架林区| 黄梅县| 上饶市| 津南区| 新源县| 荥阳市| 岢岚县| 惠水县| 旌德县| 万载县| 鄯善县| 阳谷县| 文昌市| 毕节市| 万山特区| 沙河市| 宁南县|