进程和线程的区别是什么

进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:

简而言之,一个程序至少有一个进程,一个进程至少有一个线程.

线程的划分尺度小于进程,使得多线程程序的并发性高。

另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.

一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.

进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:

简而言之,一个程序至少有一个进程,一个进程至少有一个线程.

线程的划分尺度小于进程,使得多线程程序的并发性高。

另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.

一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.


相关内容

  • 多线程与多进程的区别
  • 进程: 子进程是父进程的复制品.子进程获得父进程数据空间.堆和栈的复制品. 线程:相对与进程而言,线程是一个更接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列. 根本区别:用多进程每个进程有自己的地址空间,线程则共享地址空间.所以其他区别都是由此而来的: ...

  • 就业面试题
  • 1. 简述OC 中内存管理机制.与retain 配对使用的方法是dealloc 还是release , 为什么?需要与alloc 配对使用的方法是dealloc 还是release ,为什么?readwrite ,readonly ,assign ,retain ,copy ,nonatomic . ...

  • 网页设计_Chrome多线程模型的优缺点_学聚网
  • Chrome多线程模型的优缺点 收藏到: 发布时间:2009-4-2 14:52:00 WebjxCom提示:一直在说Chrome在规避锁的问题,那到底锁是哪里不好,犯了何等滔天罪责,落得如此人见人嫌恨不得先杀而后快的境地. 开源是口好东西,它让这个充斥着大量工业垃圾代码和教材玩具代码的行业,多了一 ...

  • 计算机基础A考试题
  • 1 计算机新技术 新技术有嵌入式计算机 网格计算和中间件技术 嵌入式计算机是作为一个信息处理部件,嵌入到应用系统之中的计算机. 网格计算是利用因特网把分散在不同地理位置的计算机组成一个虚拟的超级计算机每一台参与计算的计算机是一个结点整个计算由千万个结点组成一张网格.这种计算叫网格计算. 中间件技术是 ...

  • 双核与程序的关系
  • 双核与程序的关系 王亿首 (郑州大学 信息与工程学院) 摘 要:伴随着计算机的发展,双核计算机已经成为了一个主流,有些程序在运行时只能使用一个内核进行工作,另外一个内核是闲置的,造成了资源的浪费.程序在运行过程中是怎样合理分配使用这两个内核进行运算,使硬件资源得到合理的使用,了解程序的运行机制,以及 ...

  • [转]网络/网络编程面试题收集
  • [转]网络/网络编程面试题收集 网络/网络编程部份: 1.connect方法会阻塞,请问有什么方法可以避免其长时间阻塞? 答:最通常的方法最有效的是加定时器:也可以采用非阻塞模式. 2.网络中,如果客户端突然掉线或者重启,服务器端怎么样才能立刻知道? 答:若客户端掉线或者重新启动,服务器端会收到复位 ...

  • 同步和互斥的区别
  • 信号量 互斥量 条件变量 同步和互斥 一.信号量: 用于进程间通信(linux 中用于线程) 独立于进程 在两个进程中都要初始化,若一个已创建,则另一个获取 可以执行多次v 操作,然后再执行p 操作 信号量的一些概念: 以下是信号灯(量) 的一些概念: 信号灯与互斥锁和条件变量的主要不同在于&quo ...

  • 进程和线程之间的区别和联系
  • 下面我以一个日常生活中简单的例子来说明进程和线程之间的区别和联系: 这副图是一个双向多车道的道路图,假如我们把整条道路看成是一个"进程"的话,那么图中由白色虚线分隔开来的各个车道就是进程中的各个"线程" 了. ①这些线程(车道) 共享了进程(道路) 的公共资源 ...

  • 批改网c++笔试题
  • 批改网c++笔试题 姓名:李松 联系电话: 选择题(每题5分) 1. 面向对象程序设计思想的主要特征中不包括(D) A. 封装性 B. 多态性 C. 继承性 D. 功能分解,逐步求精 2. 如果派生类以protected方式继承基类,则原基类的protected和public成员在派生类的访问性分别 ...