多线程

今日内容

  • 多线程

并发与并行

  • 并发:指的是两个或者多个事件(任务) 在同一时间段内发生的。

  • 并行:指的是两个或者多个事件(任务)在同一时刻发生(同时发生)。

 

 

线程与进程

  • 进程:是指一个内存中运行的的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个线程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序就是一个进程从创建、运行到消亡的过程。

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

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

备注:单核处理器的计算机肯定不能并行的处理多个任务的,只能是多个任务在单个cpu上并发的执行。同理,线程也是一样的,从宏观角度上理解线程是一种并行运行的,但是从微观上分析并行运行不可能,即需要一个一个线程的去执行,当系统只有一个cpu的时候,线程会以某种顺序执行多个线程,我们把这种情况称之为线程调度。

线程调度:

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

  • 抢占式调度:优先让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机一个线程 执行,Java使用的就是抢占式调度方式来运行线程程序。

    • 设置线程的优先级

 

posted @ 2020-12-10 20:49  长安店小二  阅读(73)  评论(0编辑  收藏  举报