并发编程的挑战.PDFVIP

  • 6
  • 0
  • 约1.08万字
  • 约 7页
  • 2019-08-18 发布于北京
  • 举报
并发编程的挑战.PDF

第1 章 Chapter 1 并发编程的挑战 并发编程的目的是为了让程序运行得更快,但是,并不是启动更多的线程就能让程序最 大限度地并发执行。在进行并发编程时,如果希望通过多线程执行任务让程序运行得更快, 会面临非常多的挑战,比如上下文切换的问题、死锁的问题,以及受限于硬件和软件的资源 限制问题,本章会介绍几种并发编程的挑战以及解决方案。 1.1 上下文切换 即使是单核处理器也支持多线程执行代码,CPU 通过给每个线程分配 CPU 时间片来实 现这个机制。时间片是 CPU 分配给各个线程的时间 ,因为时间片非常短,所以 CPU 通过不 停地切换线程执行,让我们感觉多个线程是同时执行的,时间片一般是几十毫秒(ms )。 CPU 通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个 任务。但是,在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载 这个任务的状态。所以任务从保存到再加载的过程就是一次上下文切换。 这就像我们同时读两本书,当我们在读一本英文的技术书时,发现某个单词不认识,于 是便打开中

文档评论(0)

1亿VIP精品文档

相关文档