Ответы пользователя по тегу Java
  • Как синхронизировать доступ к полям класса Java?

    @logder
    Во-первых, volatile это не просто "не кешируется в памяти потока".
    docs.oracle.com/javase/tutorial/essential/concurre...
    Using volatile variables reduces the risk of memory consistency errors, because any write to a volatile variable establishes a happens-before relationship with subsequent reads of that same variable. This means that changes to a volatile variable are always visible to other threads. What's more, it also means that when a thread reads a volatile variable, it sees not just the latest change to the volatile, but also the side effects of the code that led up the change.


    Во-вторых, как организовать работу с magicVar зависит от конкретных операций, которые будут с нею выполняться.
    Ответ написан
    Комментировать