1. 什么是Lock Convoy
Lock Convoy译成中文是锁护送,并不容易理解。我们先看一下Wikipedia对此的描述:
In computer science, a lock convoy is a performance problem that can occur when using locks for concurrency control in a multithreaded application。A lock convoy occurs when multiple threads of equal priority contend repeatedly for the same lock.
Lock Convoy其实是同等优先级的多个线程共同竞争一个锁时出现的现象。
2. 现象描述
现在有两个相同优先级的线程A和线程B,调用如下函数,线程A传参为"a",线程B传参为"b"
void ThreadFun(char c){while(true

Lock Convoy是指在多线程应用中,同等优先级的线程频繁竞争同一锁,导致线程切换频繁,降低并发性能的现象。其原因包括线程的FIFO调度和锁的频繁获取。解决方法包括调整线程优先级、使用非阻塞算法和减小锁粒度。
最低0.47元/天 解锁文章
175

被折叠的 条评论
为什么被折叠?



