如何建立線程安全的list

解決這個問題一般有兩種方法(我的認爲)一:使用synchronized關鍵字,這個你們應該都很熟悉了,不解釋了;二:使用Collections.synchronizedList();使用方法以下:        假如你建立的代碼以下:List<Map<String,Object>> data=new ArrayList<Map<String,Object>>();        那麼爲了解決這個線程安全問題你能夠這麼使用Collections.synchronizedList(),如:        List<Map<String,Object>> data=Collections.synchronizedList(new ArrayList<Map<String,Object>>());       其餘的都沒變,使用的方法也幾乎與ArrayList同樣,你們能夠參考下api文檔;額外說下 ArrayList與LinkedList;這兩個都是接口List下的一個實現,用法都同樣,但用的場所的有點不一樣,ArrayList適合於進行大量的隨機訪問的狀況下使用,LinkedList適合在表中進行插入、刪除時使用,兩者都是非線程安全,解決方法同上(爲了不線程安全,以上採起的方法,特別是第二種,實際上是很是損耗性能的)。
相關文章
相關標籤/搜索