Я пишу приложение, подобное паре чат-сервер-клиент.
Я планирую создать центральный объект, в котором будут храниться новые сообщения, полученные от клиентов, до тех пор, пока они не будут обработаны основным потоком.
Мое приложение многопоточное. Каждый клиент будет в своем собственном потоке, поэтому несколько потоков будут добавлять сообщения в этот центральный объект.
Основной поток проверит этот объект на наличие сообщений, удалит «самый старый» и обработает его соответствующим образом. Желательно, чтобы сообщения обрабатывались в том же порядке, в котором они были добавлены (FIFO).
Какой тип объекта наиболее подходит для хранения новых сообщений? Я посмотрел в Векторы и ArrayLists, но я запутался в аспекте синхронизации. Я никогда раньше не работал с синхронизацией или потоками.
Спасибо