Skip to main content

多线程

多线程是Java最基本的一种并发模型。

CPU执行代码都是一条一条顺序执行的,但是即使是单核CPU也可以同时运行多个任务,因为操作系统执行多任务实际上就是让CPU对多个任务轮流交替执行。

info

即使是多核CPU,因为通常任务的数量都是远远多于CPU核心的数量的,所以任务也是交替执行的

进程

在计算机中,一个任务称为一个进程,浏览器、视频播放器、音乐播放器、Word文档这些都是进程。

某些进程内部还需要同时执行多个子任务:在Word中一边打字一边检查拼写错误,子任务称为线程。

tip

一个进程可以包含一个或者多个线程,至少会有一个线程,操作系统调度的最小任务单位其实不是进程,而是线程。

process

多任务的实现方式

因为同一个应用程序,既可以有多个进程,也可以有多个线程,因此,实现多任务的方式有下面几种:

1、多进程模式,每一个进程只有一个线程 2、多线程模式,一个进程中有多个线程 3、多进程+多线程模式(复杂度最高)

多进程模式 process1

多线程模式 process2

多进程+多线程模式 process3