And*_*nko 4 c++ multithreading asynchronous
我有一个桌面应用程序,当用户请求时,某些计算在后台线程中运行.有一个取消按钮.
我知道向后台任务发信号取消的"安全"或"正确"方式(使用Qt信号/插槽连接,后台任务轮询的互斥锁定布尔值等).
但是,最简单的事情似乎是bool cancelled在我的主线程类中有一个,它在按下取消按钮时同步设置,并传递const bool &cancelled给它轮询的后台线程.
bool cancelled
const bool &cancelled
这种方法有可能适得其反吗?
Che*_*Alf 5
线程可以在单独的处理器上运行,每个处理器都有自己的缓存.如果布尔值是原子的,你可以这样做.否则,您可能会将更改传播到最近的缓存,并且对另一个线程不可见.
归档时间:
11 年,3 月 前
查看次数:
66 次
最近记录: