Синхронизация объекта, совместно используемого потоками, но не доступного одновременно

Позволять'скажем, у меня есть общий объект с полемdata, Несколько потоков будут делиться ссылкой на этот объект для доступа к полю. Тем не менее, потоки никогда не обращаются к объекту одновременно. Нужно ли декларироватьdata как изменчивый?

Такая ситуация будет следующей:

КлассCounter определяет уникальное полеvalue и один метод.incrementПоток увеличивает счетчик, затем порождает другой поток, который увеличивает счетчик и т. Д.

Учитывая саму логику программы, одновременный доступ к счетчику отсутствует. Однако счетчик распределяется между несколькими потоками. Должен ли счетчик быть летучим?

Другой вариант ситуации - когда несколько потоков манипулируют объектом X, который представляет собой обычные данные, но чередуют свое временное выполнение (так, чтобы к X никогда не обращались одновременно) через другой объект Y, который полагается на управление параллелизмом (,,waitnotifysynchronize). Должны ли поля объекта X быть изменчивыми?

Ответы на вопрос(5)

Ваш ответ на вопрос