Java是否具有支持并发修改的数据结构?

Ram*_*ama 2 java multithreading concurrentmodification data-structures

我正在用Java制作游戏.游戏中的每个敌人都是一个线程,他们不断循环游戏的数据结构(我总是使用Vector类).

最近我得到了"ConcurrentModificationException",因为当一个Thread循环遍历Vector时,正在向Vector添加/删除元素.我知道有一些策略可以避免添加/删除问题(我实际上使用了一些来避免删除问题,但我仍然遇到"添加"问题).

我听说java支持一个避免ConcurrentModificationException的Vector/List.

你知道这个结构可能是什么吗?谢谢.

Mat*_*ick 6

查看java.util.concurrent,它有你想要的.

  • `ConcurrentModificationException`不一定与*基于线程的并发*有任何关系; 在一个只在一个线程上访问集合的程序中,它很容易引发.虽然解决OP问题的集合确实存在于你提到的包中,但我认为对底层问题的更多解释是应该的. (3认同)