并发:并发是一种现象,我们每一时刻只能执行一种任务,但我们需要处理多个任务的时候,我们能够快速的这些任务之间进行切换,一会执行A,一会执行B,这就是并发。并发是由处理器完成的,cpu在不同的进程之间执行调度,完成上下文切换,宏观上我们看到的是多个进程在同时的执行,但微观上,其实不同的进程的执行的时间段是不同,但肯定的是同一时间只有一个进程时正在执行。
并发在单核处理器和多核处理器上都存在。
并行:并行是针对多核处理器,在同一时刻,多个进程真正的同时在执行,如果是单核处理器,你可以认为这种并行是一种假并行,因为这是cpu通过并发实现的给我们造成了一种并行的假象。
和并行相对的,其实是串行,串行是真正的,一次只能取到一个任务,并且我必须要把任务完成为止,否则在此期间,我不会去接收别的任务。
进程:进程就是正在运行的一个可执行程序,打开我们的任务管理器,在进程中可以看到各式各样的进程,微信,网易云音乐都是一个进程,程序一旦被执行,那么他就是一个进程。进程是系统进行资源分配和调度的单位。
线程:线程是进程中执行的道路,进程中的多个线程就是并发在执行的。一个进程可以包含有多个线程,但至少有一个主线程,线程是操作系统可识别的最小执行和调度单位。计算机将资源分配给进程,进程中的线程共享这些资源,所以利用多线程可以极大的提高进程的运行效率。