c++ join崩溃

c++11中关于std::thread的join函数详解join,joinable

检查是否线程使用了同一变量如running=true来作为线程退出标记,而此全局标记是在其他线程中修改值的。若如此,尽量使用volatile关键字来控制running变量值不被做缓存优化,使其每次都从内存中获取。因为在当前线程中若未对running值作过修改,当前线程内部会缓存此running值以便下次可以不在内存中获取。此时若其他线程对running值作了修改,当前线程是不知道的。所以要加volatile修饰符。

C++ 线程join崩溃

 
喜欢 0
分享