Сообщение Re[5]: DCLP. Паттерн или анти-паттерн? от 13.04.2018 8:03
Изменено 13.04.2018 8:10 okman
Re[5]: DCLP. Паттерн или анти-паттерн?
Здравствуйте, dead0k, Вы писали:
D>использование volatile в c/c++ для решения проблем многопоточности — антипаттерн.
И какие альтернативы volatile в C? Или в старых версиях C++, где нет atomic?
D>использование volatile в c/c++ для решения проблем многопоточности — антипаттерн.
И какие альтернативы volatile в C? Или в старых версиях C++, где нет atomic?
Re[5]: DCLP. Паттерн или анти-паттерн?
Здравствуйте, dead0k, Вы писали:
D>использование volatile в c/c++ для решения проблем многопоточности — антипаттерн.
И какие альтернативы volatile в C? Или в старых версиях C++, где нет atomic?
Вот приведу тогда стандартный пример "антипаттерна":
Без volatile этот код правильно работать не будет.
D>использование volatile в c/c++ для решения проблем многопоточности — антипаттерн.
И какие альтернативы volatile в C? Или в старых версиях C++, где нет atomic?
Вот приведу тогда стандартный пример "антипаттерна":
int g_data_ready;
data * g_data;
void consumer_thread(void)
{
while (!g_data_ready) {}
consume_data(g_data);
}
void producer_thread(void)
{
g_data = ...
g_data_ready = 1;
}
Без volatile этот код правильно работать не будет.