多线程
多线程是Java最基本的一种并发模型。
CPU执行代码都是一条一条顺序执行的,但是即使是单核CPU也可以同时运行多个任务,因为操作系统执行多任务实际上就是让CPU对多个任务轮流交替执行。
info
即使是多核CPU,因为通常任务的数量都是远远多于CPU核心的数量的,所以任务也是交替执行的
进程
在计算机中,一个任务称为一个进程,浏览器、视频播放器、音乐播放器、Word文档这些都是进程。
某些进程内部还需要同时执行多个子任务:在Word中一边打字一边检查拼写错误,子任务称为线程。
tip
一个进程可以包含一个或者多个线程,至少会有一个线程,操作系统调度的最小任务单位其实不是进程,而是线程。
多任务的实现方式
因为同一个应用程序,既可以有多个进程,也可以有多个线程,因此,实现多任务的方式有下面几种:
1、多进程模式,每一个进程只有一个线程 2、多线程模式,一个进程中有多个线程 3、多进程+多线程模式(复杂度最高)
多进程模式
多线程模式
多进程+多线程模式