第十一章 性能与可伸缩性

1.当操作性能受某种特定的资源而收到限制时,通常称该操作为资源密集型的操作

2.与单线程相比,多个线程总会引入一些额外的开销,比如:线程之间的协调(加锁、触发信号、内存同步等),增加的上下文切换,线程的创建与销毁,线程的调度。

  上下文切换:操作系统将某个正在运行的线程调度出来,从而使其他线程使用CPU。当一个新的线程被切换进来时,它所需要的数据可能不在当前处理器的本地缓存中,因而,线程首次调度运行时会更加缓慢。

3.减少锁的竞争

1)缩小锁的范围(“快进快出”)

2)减少锁的粒度

3)锁分段

  锁分段的一个劣势在于,与采用单个锁来实现独占访问相比,要获取多个锁来实现独占访问将更加困难并且开销更高。

  

猜你喜欢

转载自www.cnblogs.com/walker993/p/9296161.html
今日推荐