在线程中使用锁是否会减慢其他不使用锁的线程?

问题描述 投票:0回答:1

如果我有一个经常使用锁的线程,它将减慢其他不使用锁的线程的速度(例如,由于CPU中的全局锁行为,等等。

c++ linux multithreading gcc g++
1个回答
0
投票

没有锁只包含一个系统调用。在C / C ++中,无需担心解释器开销,也没有“全局解释器锁”等等。

等待锁当然会减慢速度,因此您应该仔细计划应用程序的设计,以最大程度地减少线程请求锁并必须等待获得锁的机会。最坏的情况是当您将应用程序划分为多个线程,但它们都必须等待时才有效地进行序列化。

© www.soinside.com 2019 - 2024. All rights reserved.