Нужна ли мне дополнительная синхронизация при использовании BlockingQueue?

У меня есть простой bean-компонент @Entity Message.java, который имеет некоторые нормальные свойства. Жизненный цикл этого объекта выглядит следующим образом

Создание сообщения происходит в потоке A, который затем помещается в очередь блокировки

Другой поток из пула получает этот объект и выполняет с ним некоторые действия, а также изменяет состояние Сообщение, после этого объект снова попадает в blockingQueue. Этот шаг повторяется, пока условие не остановит его. Каждый раз, когда объект получает чтение / запись потенциально из другого потока, но с гарантией, что только один поток одновременно будет читать / писать в него.

Учитывая эти обстоятельства, мне нужно синхронизировать геттеры / сеттеры ? Возможно, сделать свойства летучими? или я могу просто уйти без синхронизации?

Спасибо и надеюсь, что смог прояснить, что у меня здесь.

16
задан erickson 9 September 2010 в 16:29
поделиться