天天看点

《Java 并发编程的艺术》笔记——第1章 并发编程的挑战1.1 上下文切换

文章目录

  • 1.1 上下文切换
    • 1.1.1 多线程一定快吗?
    • 1.1.2 测试上下文切换次数和时长
    • 1.1.3 如何减少上下文切换
    • 1.1.4 减少上下文切换实战
  • 1.2 死锁
  • 1.3 资源限制的挑战
  • 1.4 本章小结

声明:

本博客是本人在学习《Java 并发编程的艺术》后整理的笔记,旨在方便复习和回顾,并非用作商业用途。

本博客已标明出处,如有侵权请告知,马上删除。

并发编程的目的是为了让程序运行得更快,但是,并不是启动更多的线程就能让程序最大限度地并发执行。在进行并发编程时,如果希望通过多线程执行任务让程序运行得更快,会面临非常多的挑战,比如上下文切换的问题、死锁的问题,以及受限于硬件和软件的资源限制问题,本章会介绍几种并发编程的挑战以及解决方案。

1.1 上下文切换

即使是单核处理器也支持多线程执行代码,CPU 通过给每个线程分配 CPU 时间片来实现这个机制。时间片是 CPU 分配给各个线程的时间,因为时间片非常短,所以 CPU 通过不停地切换线程执行,

继续阅读