国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

線程安全、非線程安全

2019-11-08 19:31:48
字體:
來源:轉載
供稿:網友

線程安全:當多個線程類并發操作某類的某個方法,(在該方法內部)來修改這個類的某個成員變量的值,

                    不會出錯,則我們就說,該的這個方法是線程安全的。

線程不安全(非線程安全):當多個線程類并發操作某類的某個方法,(在該方法內部)來修改這個類的某個成員

                    變量的值,很容易就會發生錯誤,故我們就說,這個方法是線程不安全的。如果要把這個方法變成線

                    程安全的,則用 synchronized關鍵字來修飾該方法即可。

總結:線程安全對共享變量互斥訪問             非線程安全不是            所以要是線程間數據相關則而又不是線程安全的話,很危險的

舉例說明:ArrayList和Vector、 HashMapHashTable、StringBuilderStringBuffer

                    ArrayList是非線程安全的,Vector是線程安全的;

         HashMap是非線程安全的,HashTable是線程安全的;

         StringBuilder是非線程安全的,StringBuffer是線程安全的。

      ArrayListVector:

      1、如果List不會被多線程并發訪問,使用ArrayList就沒有問題,而且速度效率要高些;      2、如果有多線程并發訪問List,可以使用Vector,也可以使用ArrayList,

         并且自己對可能出現并發沖突的地方自行做synchronized處理。

簡單的來講,在多線程情況下 vector.add(e),這樣寫就好了,如果你用ArrayList.add(e),那么你就得這樣 synchronized(ArrayList) {     ArrayList.add(e) } vector:內部已經做了這樣的處理了


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 惠安县| 绥江县| 台安县| 石林| 潼南县| 田林县| 曲周县| 南充市| 建水县| 新河县| 和林格尔县| 山丹县| 兴城市| 南华县| 兖州市| 兴化市| 澄城县| 乐至县| 洛川县| 晋宁县| 柳江县| 漳浦县| 焦作市| 修武县| 固安县| 天峨县| 洞头县| 布尔津县| 秭归县| 丰镇市| 松阳县| 剑河县| 山丹县| 宜章县| 漳平市| 扶余县| 钟祥市| 绥德县| 察哈| 桑植县| 枣庄市|