java并发编程1-进程与线程
Where from
进程
一个活动的程序,是程序的实例,大部分程序可以运行多个实例,有的程序只可以运行一个实例
线程
一个进程可以有多个线程,线程是最小的调度单位,进程是资源分配的最小单位,
进程与线程
进程互相独立,线程是进程的子集
进程拥有共享的资源,供其内部的线程共享
进程通信较为复杂,同一台计算机之间的进程通信叫做IPC,不同的计算机之间需要通过网络协议
线程的通信相对简单,他们共享进程的内存,
线程更加轻量,他们上下文切换的成本更低
并行与并发
单核CPU的线程都是串行,这就叫并发concurrent
多核CPU能够达到并行,一些代码同时执行,但是更多情况下,我们的计算机是并发+并行
并发concurrent是同一时间应对dealing with多件事情的能力,并行parallel是同一时间动手做doing多件事情的能力
同步和异步
比如我们有个视频转换转换格式非常耗时间,我们让新的线程去做处理,避免主线程被阻塞
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Believe it!