小秋的家

          home

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            1 Posts :: 91 Stories :: 17 Comments :: 0 Trackbacks
                什么情況下我們要考慮線程安全?
                        多方總結應該是一句話:當兩個線程同時訪問一個對象的時候,就需要考慮該對象是否是線程安全!(呵呵,參考了一位同事的話)...覺得比較精辟的清晰的.比如我們覺見的servlet,操作數(shù)據(jù)庫等等...

               提高效率需要注意一點的就是分解:
              舉個例子大家容易更加明白什么叫分解,分解了為什么能提高效率:
              public synchonized void work(){
                  print();
                  readMail();
                  openMeet();
             }

             該方法里面調(diào)用的print()和openMeet()兩個方法如果是同步方法,且readMail()需要消耗很多時間時,我們不妨把上面的方法改成如下這樣,將會大大提高效率:
             public synchonized void work(){
                      synchonized(this) {        
                              print();
                      }
                  readMail();
                      synchonized(this) {        
                               openMeet();
                      }
           }
              這樣,我們在調(diào)用成功一個同步方法后就會解鎖給其它線程調(diào)用,繼續(xù)調(diào)用費時很長的方法,這樣將大大提高性能效率問題了..
             這算是看了一點資料的一點總結吧....希望能對新手有所幫助!高手就不用了,嘿嘿..
          posted on 2008-12-30 17:07 棋劍小秋 閱讀(303) 評論(0)  編輯  收藏 所屬分類: JAVA
          主站蜘蛛池模板: 丘北县| 西华县| 山西省| 普宁市| 河东区| 平远县| 华池县| 涟水县| 南部县| 乐东| 永修县| 罗山县| 巫山县| 扎囊县| 曲松县| 金堂县| 陆川县| 乐至县| 平南县| 泗水县| 永定县| 凌海市| 青海省| 吴旗县| 嘉鱼县| 高唐县| 且末县| 沽源县| 宜宾县| 环江| 来凤县| 城市| 内乡县| 左贡县| 广水市| 新蔡县| 京山县| 青铜峡市| 龙井市| 长宁县| 武宣县|