如果我有一个经常使用锁的线程,它将减慢其他不使用锁的线程的速度(例如,由于CPU中的全局锁行为等)。
最佳答案
不能。锁只是由系统调用组成。在C / C++中,无需担心解释器开销,也没有“全局解释器锁”等。
当然,等待锁会减慢速度,因此您应该仔细计划应用程序的设计,以最大程度地减少线程请求锁并必须等待获得锁的机会。最坏的情况是将您的应用程序划分为多个线程,但是它们都必须等待,从而有效地进行序列化。
关于c++ - 线程中使用锁是否会使其他不使用锁的线程减慢速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60512335/