线程与进程

Posted zlh109

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程与进程相关的知识,希望对你有一定的参考价值。

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

 线程与进程
  • 进程:是指一个内存中运行的的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个线程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序就是一个进程从创建、运行到消亡的过程。
  • 线程:线程是进程中的一个执行单元,负责当前进程中程序的运行,一个程序中至少有一个线程。一个进程可以有多个线程,这个应用程序也可以称之为多新线程程序。

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

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

线程调度:

  • 分时调度:所有的线程轮流使用CPU的使用权,平均分配给每个线程占用CPU的时间
  • 抢占式调度:优先让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机一个线程 执行,Java使用的就是抢占式调度方式来运行线程程序。
  • 设置线程的优先级

以上是关于线程与进程的主要内容,如果未能解决你的问题,请参考以下文章

八.多进程与多线程

多线程编程

[转帖]Linux系统进程的知识总结,进程与线程之间的纠葛...

线程浅析

LINUX操作系统知识:进程与线程详解

Linux系统进程的知识总结,进程与线程之间的纠葛...