狂奔 lion

          自強不息

          多線程的知識

          多線程的優點:
          1 多核利用
          2 為單個任務建模方便
          3 異步處理不同事件,不必盲等
          4 現代的UI也需要它
          風險:
          1 同步變量易錯誤
          2 因資源限制導致線程活躍性問題
          3 因2導致的性能問題
          用途:
          框架,UI,Backend
          線程安全的本質是什么:
          并非是線程和鎖,這些只是基礎結構,本質是如何控制共享變量訪問的狀態
          什么是線程安全:
          就是線程之間的執行還沒有發生錯誤,就是沒有發生意外
          一個線程安全的類本身封裝了對類內部方法和變量的異步請求,調用方無需考慮線程安全問題
          無狀態的變量總是線程安全的
          原子性:
          完整執行的單元,如不加鎖控制,則會發生競態條件,如不加鎖的懶漢單例模式,或者復合操作。
          鎖,內在鎖,重入:
          利用synchronized關鍵字控制訪問單元,同一線程可以重入鎖內部,避免了面向對象產生的問題。同一變量的所有出現場合應該使用同一個鎖來控制。synchronized(lock)。
          即使所有方法都用synchronized控制也不能保證線程安全,它可能在調用時編程復合操作。
          活躍性和性能問題:
          過大的粒度會導致這個問題,用鎖進行異步控制,導致了線程的順序執行。
          簡單和性能是一對矛盾,需要適當的取舍。不能在沒有考慮成熟的情況下,為了性能去犧牲簡潔性。
          要盡量避免耗時操作,IO和網絡操作中使用鎖

           @2008 楊一. 版權所有. 保留所有權利

          posted on 2010-06-25 19:17 楊一 閱讀(379) 評論(0)  編輯  收藏 所屬分類: Other Tech

          <2010年6月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導航

          公告

          本人在blogjava上發表的文章及隨筆除特別聲明外均為原創或翻譯,作品受知識產權法保護并被授權遵從 知識分享協議:署名-非商業性使用-相同方式共享 歡迎轉載,請在轉載時注明作者姓名(楊一)及出處(www.aygfsteel.com/yangyi)
          /////////////////////////////////////////
          我的訪問者

          常用鏈接

          留言簿(5)

          隨筆分類(55)

          隨筆檔案(55)

          相冊

          Java

          其他技術

          生活

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          自強不息


          用心 - 珍惜時間,勇于創造
          主站蜘蛛池模板: 固阳县| 重庆市| 延寿县| 吴旗县| 沛县| 贺兰县| 庆阳市| 澳门| 正安县| 连城县| 双鸭山市| 林西县| 凤山市| 同心县| 永福县| 偃师市| 庄河市| 攀枝花市| 颍上县| 宝鸡市| 分宜县| 太康县| 新闻| 塔河县| 丹棱县| 宜川县| 镇宁| 屯留县| 德安县| 孝感市| 洞口县| 禄丰县| 冕宁县| 汝城县| 安陆市| 丹阳市| 察隅县| 雷山县| 九江县| 道真| 子长县|