线程与进程

原创 2016年05月30日 22:11:25
进程(process)是一块包含了某些资源的内存区域。操作系统利用进程把它的工作划分为一些功能单元。

  进程中所包含的一个或多个执行单元称为线程(thread)。进程还拥有一个私有的虚拟地址空间,该空间仅能被它所包含的线程访问。

  通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。

  在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。

  由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。


  简而言之,一个程序至少有一个进程,一个进程至少有一个线程.一个程序就是一个进程,而一个程序中的多个任务则被称为线程。

  线程只能归属于一个进程并且它只能访问该进程所拥有的资源。当操作系统创建一个进程后,该进程会自动申请一个名为主线程或首要线程的线程。应用程序(application)是由一个或多个相互协作的进程组成的。

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

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

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

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

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

  一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.
版权声明:本文为博主原创文章,未经博主允许不得转载。

进程和线程关系及区别

1.定义 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立...
  • yaosiming2011
  • yaosiming2011
  • 2015年03月15日 21:06
  • 225146

android中进程与进程,线程与线程之间如何通信??

原文地址:Android中的进程与线程    原文作者:江鹏 android中进程与进程,线程与线程之间如何通信?? 1.一个android程序开始运行时,会单独启动一个process 默认情况...
  • zxcvzxcv7
  • zxcvzxcv7
  • 2012年04月08日 11:35
  • 2276

Java中进程与线程的区别

学习电脑和编程语言就会遇到进程和线程,初学者往往会在此陷入迷茫和纠结中。其实弄清这两个概念不是很难。从一定意义上讲,进程就是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一...
  • wu371894545
  • wu371894545
  • 2017年02月20日 21:21
  • 11177

Android进程和线程的区别

恩恩,今天参加阿里的面试,被问到Android中进程和线程的区别,着实把我伤脑了,表示平时开发的时候只知道线程,并没有去仔细关注过进程,所以下来特地去查了以下资料,先说说线程: (1)在Androi...
  • qq_17475155
  • qq_17475155
  • 2016年03月15日 20:02
  • 5022

线程与进程的区别以及通过实例的详细分析

定义: 一、进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。 二、线程是进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能独...
  • Atlas12345
  • Atlas12345
  • 2015年05月22日 11:08
  • 1694

进程和线程的区别、相同点

1、首先是定义 进程:是执行中一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。进程是表示资源分配的的基本概念,又是调度运行的基本单位,是系统中的并发执行的单位。 线程:单个进程中执行中每...
  • qq_33573235
  • qq_33573235
  • 2017年08月02日 17:33
  • 391

线程,进程,应用程序域的关系图

原图地址:http://www.cnblogs.com/maidi-mao/archive/2013/05/02/3053896.html
  • gghome
  • gghome
  • 2016年04月13日 10:01
  • 609

Android中的线程与进程之间的关系简单解释

一、Android中的进程 当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程。默认的情况下,所有该程序的组件都将在该进程和线程中运行。 同时,Android会为每个...
  • u011895534
  • u011895534
  • 2015年07月14日 09:49
  • 1790

c++:线程和进程的区别

线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别: (1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间; (2)资源...
  • ming2453755227
  • ming2453755227
  • 2017年03月10日 13:23
  • 1440

Java进阶(四十三)线程与进程的区别

Java进阶(四十三)线程与进程的区别1、线程的基本概念  概念:线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可...
  • sunhuaqiang1
  • sunhuaqiang1
  • 2016年09月28日 08:50
  • 44695
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:线程与进程
举报原因:
原因补充:

(最多只允许输入30个字)