volatile — модификатор переменной, гарантирующий видимость изменений между потоками. Без него каждый поток может кешировать значение переменной в регистре процессора или кеше L1/L2 и никогда не видеть изменений, сделанных другим потоком. volatile отключает кеширование и гарантирует чтение из основной памяти.

Проблема видимости без volatile
Full content is available with a subscription.
Get full access to all courses on the platform for one year with a single payment.
Unlike other platforms that charge per course, here you get everything for one price, and after one year of use there will be no automatic charge for the following year.