ArrayList 保證多執行緒安全

2022-08-20 12:51:10 字數 427 閱讀 7241

一:使用synchronized關鍵字

二:使用collections.synchronizedlist();使用方法如下:

假如你建立的**如下:list> data=new arraylist>();

那麼為了解決這個執行緒安全問題你可以這麼使用collections.synchronizedlist(),如:

list> data=collections.synchronizedlist(new arraylist>());

額外說下 arraylist與linkedlist;這兩個都是介面list下的乙個實現,用法都一樣,但用的場所的有點不同,arraylist適合於進行大量的隨機訪問的情況下使用,linkedlist適合在表中進行插入、刪除時使用,二者都是非執行緒安全,解決方法同上(為了避免執行緒安全,以上採取的方法,特別是第二種,其實是非常損耗效能的)。

如何保證ArrayList執行緒安全

一 繼承arraylist,然後重寫或按需求編寫自己的方法,這些方法要寫成synchronized,在這些synchronized的方法中呼叫arraylist的方法。二 使用collections.synchronizedlist 使用方法如下 假如你建立的 如下 list data new ar...

如何保證ArrayList執行緒安全

一 繼承arraylist,然後重寫或按需求編寫自己的方法,這些方法要寫成synchronized,在這些synchronized的方法中呼叫arraylist的方法。二 使用collections.synchronizedlist 使用方法如下 假如你建立的 如下 list data new ar...

安卓 多執行緒

方法1 建立單獨的執行緒 new thread new runnable start 方法2 利用執行緒池 private executorservice executorservice executors.newfixedthreadpool 4 上面是建立乙個固定大小的執行緒池,這裡面的執行緒不...