并发编程的艺术

Posted 行觉居士

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并发编程的艺术相关的知识,希望对你有一定的参考价值。

1.上下文切换

时间片:CPU为线程分配的执行时间,时间片很短,所以CPU通过不停地切换线程执行,让我们感觉多个线程是同时执行的,时间片一般是十几毫秒。

CPU通过时间片分配算法循环执行任务,当前任务执行一个时间片后会切换到下一个任务。但是,在切换前会保存上一个任务的状态,下次在切换到这个任务,可以在加载这个任务的状态,所以任务从保存到再加载的过程就是一次上下文切换。

举个例子:这就像我们同时读两本书,当我们在读一本英文的技术书时,发现某个单词不认识,于是便打开中英文字典,但是在放下英文技术书之前,大脑必须先记住这本书读到了多少页的第多少行,等查完单词之后,能够继续读这本书。这样的切换是会影响读书效率的,同样上下文切换也会影响多线程的执行速度。

 

以上是关于并发编程的艺术的主要内容,如果未能解决你的问题,请参考以下文章

Java并发编程的艺术,解读并发编程的优缺点

Java并发编程的艺术,解读并发编程的优缺点

并发编程的挑战(Java并发编程的艺术)

Java并发编程的艺术--一书知秋

《Java并发编程的艺术》读后笔记-part1

Java并发编程的艺术读书笔记——Java并发编程基础