В примере на 1:06:00 разве нельзя просто использовать volatile переменную "pt"? Обновление ссылки кажется и так атомарная операция в Java, просто чтобы объект был в адекватном состоянии в разных тредах можно повесить volatile.
Гайз, подскажите зачем на слайде 21 (52:22 ) остается volatile у флага? У нас уже есть блок синхронизации, разве это не гарантирует happens before для чтения в других потоках? Исходя из JMM
Блок синхронизации используется в теле самого метода, а не в сигнатуре. Выше блока синхронизации используется поле flag, поэтому volatile необходим, если нужно считать корректное значение.
Тагир Фаридович, спасибо Вам за Ваши прекрасные лекции
Круто!!Это топ лекция
Помню из вуза термины Deadlock, compareAndSet. Только благодаря лекции смог понять их смысл. Спасибо.
крутяк лекция !!! никогда не видел дедлок при инициализации
В примере на 1:06:00 разве нельзя просто использовать volatile переменную "pt"? Обновление ссылки кажется и так атомарная операция в Java, просто чтобы объект был в адекватном состоянии в разных тредах можно повесить volatile.
Да, можно было обойтись volatile.
Гайз, подскажите зачем на слайде 21 (52:22 ) остается volatile у флага? У нас уже есть блок синхронизации, разве это не гарантирует happens before для чтения в других потоках? Исходя из JMM
Блок синхронизации используется в теле самого метода, а не в сигнатуре. Выше блока синхронизации используется поле flag, поэтому volatile необходим, если нужно считать корректное значение.
Я хочу быть Тагиром.
Хочу жить в Тагиле
👏👏👏👏👏👏👏
9:28