java并发编程1-进程与线程

Where from

快来点我

进程

一个活动的程序,是程序的实例,大部分程序可以运行多个实例,有的程序只可以运行一个实例 # 线程 一个进程可以有多个线程,线程是最小的调度单位,进程是资源分配的最小单位,

进程与线程

进程互相独立,线程是进程的子集 进程拥有共享的资源,供其内部的线程共享 进程通信较为复杂,同一台计算机之间的进程通信叫做IPC,不同的计算机之间需要通过网络协议 线程的通信相对简单,他们共享进程的内存, 线程更加轻量,他们上下文切换的成本更低

并行与并发

单核CPU的线程都是串行,这就叫并发concurrent 多核CPU能够达到并行,一些代码同时执行,但是更多情况下,我们的计算机是并发+并行 并发concurrent是同一时间应对dealing with多件事情的能力,并行parallel是同一时间动手做doing多件事情的能力

同步和异步

比如我们有个视频转换转换格式非常耗时间,我们让新的线程去做处理,避免主线程被阻塞