|
|
1
4
您可以让刚刚解锁互斥体的线程放弃处理器。在POSIX上,您可以通过调用
也就是说,不能保证在线程再次唤醒之前,等待锁的线程将被调度。 |
|
|
2
0
检查一下你是否真的在你想的时候释放了锁。检查等待线程是否真的在等待(而不是用Trylock测试旋转一个循环,然后睡觉,我实际上做过一次,起初很困惑)。 或者,如果等待线程真的没有时间到达锁定代码,请尝试qthread::yieldcurrentthread()。这将停止当前线程,并给调度程序一个向其他人执行的机会。可能会导致不必要的切换,这取决于循环的紧密性。 |
|
|
3
0
如果要确保一个线程优先于另一个线程,可以选择使用
示例代码
假设你有一个
“读者”线索
“写入”线程
|
|
|
Wolfspirit · 你如何确定一个时间点是否在一个时间段内? 2 年前 |
|
|
h-swell · QT——如何使用布局类? 2 年前 |
|
|
LeftFrog · Qt中macOS上的按钮颜色不变 2 年前 |
|
|
Bobby · Qt是否与RAII设计模式不兼容? 2 年前 |
|
|
Harvey · 如何更改Qt Creator配置项目的默认套件? 2 年前 |