并发和并行
目录
1.并发
2.并行
3.二者关系
4.总结
1.并发
并发:CPU的一个内核,一次只能运行一个线程,但是切换速度很快,给人一种同时运行四个线程的假象,这就叫“并发”。说白了,并发是“假同时”。
单核CPU下,线程实际还是串行执行的。操作系统中有一个组件叫做任务调度器,将CPU的时间片(windows系统,时间片最小约为15毫秒,而人类感知的最小时间约为100毫秒,换句话说,人类根本感觉不到CPU切换线程的动作)分给不同的线程使用,只是由于CPU在线程间的切换速度非常快,人类感觉是同时运行的。
一般将这种线程轮流使用一个CPU的做法称为并发(concurrent)
2.并行
有的CPU有多个内核,那同时就可以运行多个线程,这就叫并行(parallel)。说白了,并行是真同时。
3.二者关系
并行和并发是相互配合的关系。
举例:如下图,我的CPU有两个内核,那么说明同一时刻,允许两个线程上机运行,这就是并行;并且每一个内核,又在快速切换不同的线程上机运行,这就是并发。
并行和并发共同协作,可以提升CPU的线程执行效率。
4.总结
-
并发:不同线程轮流上CPU内核,只是切换速度很快,给人一种多个线程同时执行的假象,是假同时。(说白了,并发依赖于CPU切换线程的速度)
-
并行:CPU有多个内核,可以同时执行好几个线程,是真同时。(说白了,并行依赖于CPU的内核数)
以上就是并发和并行的概念,喜欢本篇文章的话,可以留个免费的关注呦~~