进程:是一个具有一定独立功能的程序关于某个数据集合的一次运行活动 线程:是进程内的一个相对独立、可调度的执行单元。
- 进程可以直接在任务管理器中看到其程序名称,线程则没有具体的程序名,只是进程中的一个执行单元。
- 一个进程中至少包含一个线程。
- 线程间的资源共享更容易,但也更容易相互干扰。
关于程序、进程和线程的一个比喻(by Crazyman):
- 你的QQ不运行的时候就是一个程序,不占用CPU
- 你登陆以后,你的QQ.exe就是一个进程
- 这个QQ不光可以聊天,上面还有广告、QQ秀等东西,这些就是线程。
我对于这个比喻有些不同的意见。我觉得程序并不是非运行的进程。 程序与进程的关系,就相当于进程与线程的关系。至少一个的进程组成一个程序。 比如QQ,在运行时不但有qq.exe,还有TXPlatform.exe等其他进程。这些进程协同工作而成为QQ这个软件。
进程
进程基本状态:运行、就绪、等待。 一个CPU只能有一个运行的进程,其它进程处于就绪或等待状态。
- 运行:CPU中正在执行的进程
- 就绪:已经准备好资源,一旦CPU空闲,就可以执行的进程
- 等待:正在等待特定事件发生的进程
进程在操作系统中使用进程控制块PCB (process cotrol block)来管理。 原语:不可被打断的执行语句段。 所有的进程只能由父进程建立,不是自生自灭。 还有什么?同学们帮忙补充阿!