您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页性能优化逻辑链

性能优化逻辑链

来源:二三娱乐

下面谈论的背景都是CPU密集型

提高性能的两种方式:

  1. 减少任务的执行时间
  2. 增加任务的计算单元
  • 第一种方式是单线程方式的优化思路,执行时间不可能一直减少,所以优化到一定程度后,会到达瓶颈。
  • 第二种优化方式是多线程并发思路的方式,可以通过增加处理任务的计算单元,让性能提高。由于提高不受限制,优于第一种方式。

并发方式也有瓶颈,瓶颈取决于并发任务中的串行部分

并发任务的串行部分,也就是多线程的数据共享部分。数据的共享的保护大多使用的是锁。多个线程在申请锁失败后,会进入阻塞状态等待这个锁,阻塞导致了线程上下文的切换,产生了线程的性能开销。

要避免线程的开销,必须减少锁的竞争。

锁的相关参数有两个:

  1. 锁的请求频率
  2. 持有锁的时间
  • 缩小锁范围(减少持有锁的时间)
  • 减小锁的粒度(降低锁的请求频率)

减小锁粒度,可以把一个大锁分成小锁。这里要注意死锁问题,避免死锁的常规方法是每个线程的加锁顺序必须相同。

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务