对于以下 C++ 代码
volatile bool keepRunning = true;
void run() {
while (keepRunning) {
doSomeWork();
}
}
void stop() {
keepRunning = false;
}
假设一个线程执行 stop() 并且多个线程正在执行 run()
我相信这种构造(一个编写器,没有同步原语)在嵌入式系统中非常普遍。假设没有多个处理器/内核,这是否可以保证工作?
谢谢