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