有兩個線程操作一個ArrayList A線程會執(zhí)行l(wèi)ist.clear();B線程會執(zhí)行if(!list.isEmpty()){ list.get(list.size() - 1).xxx();}如果B線程進入了if 代碼塊時候阻塞了 而此時A線程執(zhí)行了clear方法 那么B線程再次執(zhí)行的時候就會報下標越界-1 這種情況下 應該如何同步代碼?
Java 中ArrayList的線程安全問題
江戶川亂折騰
2018-07-15 10:09:17