线程与进程

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

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

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

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

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


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

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

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

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

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

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

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

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

相关文章推荐

线程与进程

  • 2015年05月11日 20:08
  • 306KB
  • 下载

线程与进程大全

  • 2016年02月25日 14:45
  • 328KB
  • 下载

Linux_多核系统下绑定进程或线程到指定CPU_核执行

coolshell最新的文章《性能调优攻略》在“多核CPU调优”章节,提到“我们不能任由操作系统负载均衡,因为我们自己更了解自己的程序,所以,我们可以手动地为其分配CPU核,而不会过多地占用CPU0,...

进程线程区别

  • 2012年12月13日 14:28
  • 190KB
  • 下载

进程线程笔记

  • 2014年09月23日 22:04
  • 12KB
  • 下载

进程与线程的一个简单解释

进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。   最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。   1. ...

进程与线程详解

  • 2014年03月12日 14:10
  • 617KB
  • 下载

服务器客户端-socket(进程线程)

  • 2015年10月13日 09:04
  • 1.73MB
  • 下载

进程与线程的一个简单解释

转载自:http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html 进程(process)和线程(thread)是操作系统的基...

进程和线程之间的关系

  • 2015年07月05日 17:59
  • 860B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:线程与进程
举报原因:
原因补充:

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