读书笔记:性能调优

本文介绍了几种有效的并发编程技巧,包括使用Synchronized关键字和显式Lock对象进行代码同步,利用免锁容器如ConcurrentHashMap和ConcurrentLinkedQueue提高并发性能,以及采用乐观加锁策略减少等待共享资源的时间。此外,还探讨了多线程编程中可能遇到的问题,如性能降低、CPU消耗增加、复杂度提升及可能出现的竞争条件、饥饿和死锁等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.通常使用Synchronized关键字同步代码,可读性好,如果涉及性能问题,可以使用显式的Lock对象

2.免锁容器:通用策略:对容器的修改可以与读取操作同时发生,只要读取者只能看到完成修改的结果即可。修改是在容器数据结构的某个部分的一个单独的副本上执行的,并且这个副本在修改过程中不可视。只有当完成修改时,被修改的结构才会自动的和主数据结构交换,之后读取者就可以看到这个修改了。有ConcurrentHashMap和ConcurrentLinkedQueue

3.乐观加锁

多线程的缺陷:

1.等待共享资源性能降低

2.需要处理线程的额外cpu消耗

3糟糕的程序设计带来不必要的复杂度

4.有可能产生一些病态的行为,如饿死、竞争、死锁

5.不同的平台导致的不一致性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值