wwwfffhhh:程序需要在Linux系统下运行,并且我现在QT编写的程序需要多线程高性能处理,所以需要设置这个参数,不知道有什么方法解决? (2021-05-07 22:48)
realfan:自旋锁,可以用C++自己写一个,网上也很多。#include <atomic>class SpinLock { public:....... (2021-05-10 17:15)
wwwfffhhh:虽然上方的程序线程会等待释放“锁”,但它是死循环等待,如果其它线程可能会花一段时间才会释放”锁“,那么这个CPU利用率就非常高,程序性能反而可能变得很差。我希望的是线程只会等待少量时间(即可以设置自旋循环等待一定的次数),如果超过这个次数就线程休眠了 (2021-05-12 08:51)
realfan:自旋锁应用场景,就是在等待时间很短的情形。否则就用普通锁。可以考虑用混合锁,先自旋一定时间,未取得,再进入互斥休眠。 (2021-05-12 10:05)
wwwfffhhh:你说得很对,但我现在就是没有找到“再进入互斥休眠”的代码程序 (2021-05-13 20:40)