java - List<> 对象引用如何工作?
问题描述
我有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);
}
- 文件会被删除吗?
- 如果是这样,对象引用是如何在这里工作的?
解决方案
我还没有尝试过,但我相信你会遇到并发修改异常,如果你尝试操作已经在使用的资源..你可以使用 CopyOnWriteArrayList
推荐阅读
- c++ - QTest 与 QtCreator,按钮运行所有测试变灰
- ios - 带有图像的枚举以匹配 JSON
- html - 未应用 HTML 输入 CSS 背景颜色
- google-chrome-extension - 我可以在 chrome 扩展中启用源映射吗?
- rest - 如何使用系统管理员令牌(REST API)将文件上传到用户的“文件”选项卡?
- php - 我们如何在 Laravel 中清除控制器和模型缓存
- ruby-on-rails - 如何设置一个类的 2 个别名 has_and_belong_to_many 关系?
- python - 将数字读入网格
- javascript - 限制光滑滑块上的点(无 jQuery)
- git - 如何为作者和提交者设置不同的默认电子邮件地址?