并行:指两个或两个以上事件或活动在同一时刻发生。如多个任务在多个 CPU 或 CPU 的多个核上同时执行,不存在 CPU 资源的竞争、等待行为。java
并行与并发的区别多线程
一、并行指多个事件在同一个时刻发生;并发指在某时刻只有一个事件在发生,某个时间段内因为 CPU 交替执行,能够发生多个事件。并发
二、并行没有对 CPU 资源的抢占;并发执行的线程须要对 CPU 资源进行抢占。ide
三、并行执行的线程之间不存在切换;并发操做系统会根据任务调度系统给线程分配线程的 CPU 执行时间,线程的执行会进行切换。性能
Java 中的多线程操作系统
经过 JDK 中的 java.lang.Thread 能够实现多线程。线程
Java 中多线程运行的程序多是并发也多是并行,取决于操做系统对线程的调度和计算机硬件资源( CPU 的个数和 CPU 的核数)。blog
CPU 资源比较充足时,多线程被分配到不一样的 CPU 资源上,即并行;CPU 资源比较紧缺时,多线程可能被分配到同个 CPU 的某个核上去执行,即并发。事件
无论多线程是并行仍是并发,都是为了提升程序的性能。图片