Я вижу, что блокировка мьютексов С++ 11 не void lock() volatile
. Как компилятор узнает, какие функции являются барьерами памяти, а какие нет? Все ли функции являются барьерами, даже если они не изменчивы? Какие менее известные барьеры памяти и барьеры памяти должен знать каждый?