码迷,mamicode.com
首页 > 编程语言 > 详细

Java的基本使用--多线程

时间:2020-04-26 18:46:40      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:决定   拼写检查   最小   音乐播放   --   ima   线程   mic   基本   

1、多线程的相关概念

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

操作系统轮流让多个任务交替执行,例如,让浏览器执行0.001秒,让QQ执行0.001秒,再让音乐播放器执行0.001秒,在人看来,CPU就是在同时执行多个任务。

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

1.1、进程和线程

在计算机中,我们把一个任务称为一个进程,浏览器就是一个进程,视频播放器是另一个进程,类似的,音乐播放器和Word都是进程。

某些进程内部还需要同时执行多个子任务。例如,我们在使用Word时,Word可以让我们一边打字,一边进行拼写检查,同时还可以在后台进行打印,我们把子任务称为线程。

进程和线程的关系就是:一个进程可以包含一个或多个线程,但至少会有一个线程。

技术图片

 

 操作系统调度的最小任务单位其实不是进程,而是线程。常用的Windows、Linux等操作系统都采用抢占式多任务,如何调度线程完全由操作系统决定,程序自己不能决定什么时候执行,以及执行多长时间。

进程和线程是包含关系,但是多任务既可以由多进程单线程实现,也可以由单进程内的多线程实现,还可以混合多进程+多线程。

 

Java的基本使用--多线程

标签:决定   拼写检查   最小   音乐播放   --   ima   线程   mic   基本   

原文地址:https://www.cnblogs.com/wenxuehai/p/12781452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!