Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как сделать чтобы только один поток мог одновременно работать с классом?

Возникла проблема с полем из-за того что разные потоки работают в одном классе с разными методами, которые проводят махинации с этим полем (оно находится в другом классе). То есть один поток присваивает этому полю условную единицу и собирается с этим работать, а другой поток в другом методе присваивает полю двойку для себя из-за чего первый поток работает неправильно. Есть предложения как решить эту проблему?
Andrey Marshalov
  ·   · 117
Делаю программное обеспечение на заказ.  · 12 мар 2022
Самый простой способ — использовать в каждом потоке это:
synchronized (тотСамыйОбъект) {
    // Пока выполняется этот блок,
    // все другие такие же блоки (с тем же объектом)
    // будут ждать завершения этого блока кода.
    // При этом ключевое слово synchronized при объявлении
    // класса того объекта не требуется.
    // Здесь объект используется в качестве мьютекса.
}
Есть и другие способы. Например, в ReentrantLock можно задать максимальное время ожидания в tryLock, который вернёт false, если время вышло.