multithreading

使用memory_order_acquire而不使用匹配的memory_orded_release的C++原子

是否存在这样的情况:我们希望加载一个带有memory_order_acquire的原子,而没有对应于带有memory_order_release的同一原子的存储?例如,如果我有这段代码:线程2中的memory_order_acquire应该可以防止count的加载在state的加载之前移动,但由于我们在其他地方都使用memory_order_relaxed,我是否正确地说,线程2可能会看到更新后的

QProcess kill()导致pyQt5 GUI变慢或崩溃

我有一个GUI应用程序,它有一个启动按钮,该按钮指向一个最终将启动qprocess的函数。当该qprocess在stdout上有新的内容时,它将通过该stdout行发出一个信号,并由GUI开槽并显示在文本浏览器小部件中。GUI保持响应,一切都很好。但是,如果我试图用停止按钮中断qprocess,它会向qprocess发送一个.kill()命令,如果我尝试单击太多的东西,它会严重减慢GUI的运行速度。当qprocess被终止后按下停止按钮时,GUI仍然可以工作,这真的很慢。因此,一个被终止的qprocess