Как работает List <> ссылка на объект? - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть List<CapturedImage> capturedImageList = assingedFromSomewhere();

Что произойдет, если я удалю элемент 0 из capturedImageList, который в данный момент обрабатывается отдельным Thread?

// Procesing a Thread
capturedImage.deleteImageFile(capturedImageList.get(0).getAbsolutePath());

if (capturedImage.saveToDisk(bitmap_original)) {
    // Note : Thred process in not completed yet
    capturedImageList.remove(0);
    capturedImageList.add(0, capturedImage);
}
  1. Будет ли файл удален?
  2. Если да, то как здесь работает ссылка на объект?

1 Ответ

0 голосов
/ 14 декабря 2018

Я не пробовал этого, но я полагаю, что вы столкнетесь с исключением одновременной модификации, если попытаетесь манипулировать ресурсом, который уже используется .. вместо этого вы можете использовать CopyOnWriteArrayList

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...