多线程(7)多线程带来的性能问题

多线程应用不当会造成性能变慢,不是越多越好

1.上下文切换

需要保存现场,包括指令执行到哪一步了,寄存器计数器等

2.缓存开销

之前的缓存失效了,需要新的缓存

所以CPU规定了线程执行的最小时间,防止频繁的线程切换

3.何时会频繁的上下文切换

竞争锁,IO操作带来频繁阻塞,死锁

4.内存同步带来主存CPU开销

使用synchronize和volatile禁止编译器优化,使各线程不能在使用内缓存,而使用主存

原文地址:https://www.cnblogs.com/t96fxi/p/12899047.html