Java
Java Memory Model: visibility, ordering и happens-before
Разбираемся, зачем Java Memory Model нужна в многопоточном коде, откуда берутся проблемы видимости и data race и какие гарантии дают volatile, synchronized, start() и join().
Ищет по статьям, вопросам, темам и тегам.
Начните вводить запрос.
Разбираемся, зачем Java Memory Model нужна в многопоточном коде, откуда берутся проблемы видимости и data race и какие гарантии дают volatile, synchronized, start() и join().
Разбираемся, зачем Java Memory Model нужна в многопоточном коде, откуда берутся проблемы видимости и data race и какие гарантии дают volatile, synchronized, start() и join().
Разбираемся, как heap, stack, CPU cache и Java Memory Model влияют на видимость изменений между потоками, data race и порядок выполнения Java-кода.
Разбираемся, как создать и запустить поток в Java, чем start() отличается от run(), как работают interrupt(), sleep() и join() и почему порядок выполнения потоков не гарантирован.