大数据必学Java基础(七十五):多线程与程序、进程、线程之间概念详解
多线程与程序、进程、线程之间概念详解
一、程序、进程、线程
1、程序(program)
是为完成特定任务、用某种语言编写的一组指令的集合,是一段静态的代码。 (程序是静态的)
2、进程(process)
是程序的一次执行过程。正在运行的一个程序,进程作为资源分配的单位,在内存中会为每个进程分配不同的内存区域。 (进程是动态的)是一个动的过程 ,进程的生命周期 : 有它自身的产生、存在和消亡的过程
3、线程(thread)
进程可进一步细化为线程, 是一个程序内部的一条执行路径。 若一个进程同一时间并行执行多个线程,就是支持多线程的。
二、单核CPU与多核CPU的任务执行
三、并行和并发
并行:多个CPU同时执行多个任务
并发:一个CPU“同时”执行多个任务(采用时间片切换)