Код: Выделить всё
flag = 1;
pthread_cond_broadcast(&cvar);
Итак, мой вопрос: выполните pthread_cond_broadcast< Вызовы /code> и pthread_cond_signal подразумевают барьер записи в память? Если да, то где это указано в соответствующих спецификациях POSIX (или других)? В спецификации этот момент показался неясным.
Примечание. Я знаю, что на практике это приводит к барьеру памяти (в Linux, поскольку пробуждение потока подразумевает полную Барьер памяти ЦП, а вызов межбиблиотечной функции подразумевает барьер памяти компилятора). Однако меня интересует, что гарантирует спецификация.
Подробнее здесь: https://stackoverflow.com/questions/723 ... e-memory-b
Мобильная версия