Java - Каков наиболее эффективный способ синхронизации ArrayList?

Моя программа имеет поток рендеринга openGL и поток модификации данных. Поток рендеринга обращается к данным в группе списков ArrayLists, в то время как поток модификации данных изменяет, удаляет и добавляет объекты в списки ArrayLists. Потоки обновляются примерно 60 раз в секунду, и использование ArrayList является узким местом программы. Я пробовал синхронизировать блоки (очень медленно), CopyOnWriteArrayLists (довольно медленно) и создавать буферные списки массивов в потоке рендеринга (меньшее из трех зол). Что самое лучшее способ получить максимальную эффективность от одновременных списков массивов?

5
задан farm ostrich 2 May 2011 в 17:05
поделиться