什么是进程
首先来谈一谈进程。关于进程,维基百科上的定义是:计算机中已运行程序的实体。这句话每个字都明白,但连起来就不明白了。这种情况下,可以将这句话拆分开一点点理解。
先看一下程序是指什么?程序是一组指令的集合,它静态存储于诸如磁盘之类的存储器内。比如 QQ 就是一个程序,它的所有文件、指令全部存放在它的安装目录下。
理解了程序,运行的实体就不难理解了。比如在 Windows 下,点击 QQ 的桌面快捷方式,操作系统就会执行程序。专业的说法就是程序被载入内存,并产生一个实体(或实例)。
这个实体就叫进程。
什么是线程
线程是计算系统进行运算调度的基本单位。基本单位指在一个程序中是线程在实际运作。
运算调度是指功能的实现或任务的处理。例如一个人用软件边听歌边发评论,两个任务需要不同的运算,可以用两个线程分别做这两件事。
进程与线程的关系
线程是进程的一个执行单元,进程与线程是一对多的关系。进程产生时,系统会将资源(如内存、CPU 使用时间)分配给进程。进程拥有资源,但具体做事的是线程,所以说线程是运算调度的基本单位。一个进程内的多个线程共享进程的资源。线程不拥有资源,却可以使用进程的资源。
系统如果是魔法工会,进程就是魔法师组织,线程就是组织内的魔法师。魔法工会提供土地、金钱支持给魔法师组织,魔法师共享魔法师组织的资源来完成任务。
网友评论