定义
因为一些原因导致cpu不再执行当前线程,转而执行另一个线程的代码。
产生上下文切换的情况
1.线程的cpu时间片用完
2.垃圾回收
3.有更高优先级的线程需要运行
4.线程自己调用了sleep,yield,wait,join,park,synchronized,lock等方法
结论
频繁的线程上下文切换就会影响性能。所以线程不是越多越好,因为线程多了,线程上下文切换也就多了,性能就差了。
因为一些原因导致cpu不再执行当前线程,转而执行另一个线程的代码。
1.线程的cpu时间片用完
2.垃圾回收
3.有更高优先级的线程需要运行
4.线程自己调用了sleep,yield,wait,join,park,synchronized,lock等方法
频繁的线程上下文切换就会影响性能。所以线程不是越多越好,因为线程多了,线程上下文切换也就多了,性能就差了。