并行是什么意思?与并发的区别是什么?

Posted constxiong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并行是什么意思?与并发的区别是什么?相关的知识,希望对你有一定的参考价值。

并行:指两个或两个以上事件或活动在同一时刻发生。如多个任务在多个 CPU 或 CPU 的多个核上同时执行,不存在 CPU 资源的竞争、等待行为。
技术图片


并行与并发的区别

1、并行指多个事件在同一个时刻发生;并发指在某时刻只有一个事件在发生,某个时间段内由于 CPU 交替执行,可以发生多个事件。

2、并行没有对 CPU 资源的抢占;并发执行的线程需要对 CPU 资源进行抢占。

3、并行执行的线程之间不存在切换;并发操作系统会根据任务调度系统给线程分配线程的 CPU 执行时间,线程的执行会进行切换。

 

Java 中的多线程

通过 JDK 中的 java.lang.Thread 可以实现多线程。

Java 中多线程运行的程序可能是并发也可能是并行,取决于操作系统对线程的调度和计算机硬件资源( CPU 的个数和 CPU 的核数)。

CPU 资源比较充足时,多线程被分配到不同的 CPU 资源上,即并行;CPU 资源比较紧缺时,多线程可能被分配到同个 CPU 的某个核上去执行,即并发。

不管多线程是并行还是并发,都是为了提高程序的性能。

 


Java面试题汇总,总有一道卡住你!

技术图片

 

以上是关于并行是什么意思?与并发的区别是什么?的主要内容,如果未能解决你的问题,请参考以下文章

什么是并行并发,两者区别

什么是并发和并行?什么是进程和线程?进程和线程的区别

并发、并行和异步方法有啥区别?

并发和并行的区别

怎么让apache利用多核CPU进行并发的问

多线程并发和并行的区别