线程∶线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。

简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程

图:

 

 

 

 

 

线程调度

分时调度:所有线程轮流使用CPU的使用校,平均分配每个线程占用CPU 的时间。

抢占式调度:优先让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性) , Java使用的为抢占式调度。

抢占式调度使cpu会在多个进程中、多个线程中来回跳转,其速度非常快:1/n毫秒,

比方说现在的cpu跳转到迅雷这个进程中,正在执行迅雷中的3个下载任务,如果cpu分配给迅雷这个进程的时间为7毫秒,下载寻龙诀这个任务的线程优先等级比其他两个任务的优先等级要高,则寻龙诀线程所占用的cpu时间则为3秒,其它两个任务的线程则平均为2秒.

多线程不会增加CPU的速度,但会增加CPU的效率,现在的程序时间大多花在读取数据上,真正的计算工作花时间还是相对少的,因此CPU很大时间表现都很闲,就像挖土效率高,运土效率低。多线程就是要充分利用它的挖土效率,多几个运土车而尽量减少挖土机的休息时间

图:

 

 

posted on 2022-07-08 11:18  淤泥不染  阅读(48)  评论(0编辑  收藏  举报