`
- 浏览:
361705 次
- 性别:
-
一 程序只是一组指令的有序集合,
二 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位;
三 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程;
一 进程与线程区别与联系
(1) 划分尺度:线程更小,所以多线程程序并发性更高;
(2) 资源分配:进程是资源分配的基本单位,同一进程内多个线程共享其资源;
(3) 地址空间:进程拥有独立的地址空间,同一进程内多个线程共享其资源;
(4) 处理器调度:线程是处理器调度的基本单位;
(5) 执行:每个线程都有一个程序运行的入口,顺序执行序列和程序的出口,但线程不能单独执行,必须组成进程,一个进程至少有一个主线程。简而言之,一个程序至少有一个进程,一个进程至少有一个线程.
二 进程和程序区别和联系
(1)程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。而进程则不同,它是程序在某个数据集上的执行。进程是一个动态的实体,它有自己的生命周期。反映了一个程序在一定的数据集上运行的全部动态过程。
(2)进程和程序并不是一一对应的,一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一地标识每个进程。而这一点正是程序无法做到的,由于程序没有和数据产生直接的联系,既使是执行不同的数据的程序,他们的指令的集合依然是一样的,所以无法唯一地标识出这些运行于不同数据集上的程序。一般来说,一个进程肯定有一个与之对应的程序,而且只有一个。而一个程序有可能没有与之对应的进程(因为它没有执行),也有可能有多个进程与之对应(运行在几个不同的数据集上)。
(3)进程还具有并发性和交往性,这也与程序的封闭性不同。
进程和程序区别和联系表现在以下方面:
1)程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。而进程则不同,它是程序在某个数据集上的执行。
进程是一个动态的实体,它有自己的生命周期。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消。反映了一个程序在一定的数据集上运行的全部动态过程。
2)进程和程序并不是一一对应的,一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一地标识每个进程。而这一点正是程序无法做到的,由于程序没有和数据产生直接的联系,既使是执行不同的数据的程序,他们的指令的集合依然是一样的,所以无法唯一地标识出这些运行于不同数据集上的程序。一般来说,一个进程肯定有一个与之对应的程序,而且只有一个。而一个程序有可能没有与之对应的进程(因为它没有执行),也有可能有多个进程与之对应(运行在几个不同的数据集上)。
3)进程还具有并发性和交往性,这也与程序的封闭性不同。进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:
简而言之,一个程序至少有一个进程,一个进程至少有一个线程.
线程的划分尺度小于进程,使得多线程程序的并发性高。
另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
该文档为进程与线程的生动详细地理解,个人认为讲的非常好。形象生动。
讲解windows下的进程与线程之间的关系和API函数的基本操作
鉴于网上和一些教材上对进程和线程说明不是很全面,在对这方面知识学习之后,进行了总结,对操作系统中进程与线程的关系和一些应用进行了整理,希望对有这方面需要的同道中人有所帮助。
可以了解进程与线程的区别和联系,对操作系统有更深的了解。
进程与线程,本质意义上说, 是操作...同时由于 Java 的封装也隐藏了底层的一些概念和可操作性,本文还对 Java 进程线程和本地进程线程做了一些简单的比较,列出了使用 Java 进程、线程的一些限制和需要注意的问题。
c++进程与线程,好东西,可以看看学习之用,值得看看!
进程与线程的区别 - 博客园.mht 进程与线程的区别 - 博客园.mht 进程与线程的区别 - 博客园.mht
进程与线程的一个简单解释,教你简单区分程序设计过程中的进程与线程问题,有助于你对多线程编程的理解
C++模拟查看进程与线程C++模拟查看进程与线程C++模拟查看进程与线程
详细的介绍线程与进程的关系,区别以及联系,线程的通讯方式,进程的通讯方式,能够让你彻底的了解进程与线程
1. 在windows 下编写一个控制台应用...在windows 环境下编写一个控制台应用程序,输出系统中正在运行的进程的信息,包括进程号、进程所运行的程序、进程的启动时间、在核心态下消耗的时间以及在用户态下消耗的时间。
进程与线程--里面都是一些小例子,非常易懂
为了描述程序在并发执行时对系统资源的共享,我们需要一个描述程序执行时动态特征的概念,这就是进程。在本章中,我们将讨论进程概念、进程控制和进程间关糸.
基于c# 简单的 进程 线程 管理器 适合于新手用
进程、线程和优先级 工作线程和用户界面线程 线程同步 线程通讯
基础知识:线程和进程,二.Linux 2.4内核中的轻量进程实现,三.LinuxThread的线程机制,1.线程描述数据结构及实现限制,2.嵌入式linux开发教程:管理线程,3.嵌入式linux开发教程:线程栈,4.嵌入式linux开发教程:...
操作系统实验报告,原创,写得很认真的。 内容为进程与线程同步,有流程图及源代码等
关于MFC的的进程与线程示例程序,包括如何终止当前进程、如何获取系统进程、如何终止指定进程、如何在两个执行程序间进行数据通信、如何使用线程优先级等
本书详细的介绍了进程与线程的技术内幕,包括进程与线程的区别及其联系.
简单形象的介绍进程与线程,带有图片解说,比较容易理解