进程、线程、服务和任务的区别

教程 8081浏览 4评论

进程、线程和服务区别进程(process)是指运行中的应用程序,每一个进程都有自己独立的内存空间。一个应用程序可以同时启动多个进程。例如对于IE浏览器程序,每打开一个IE浏览器窗口,就启动了一个新的进程。同样,每次执行JDK的java.exe程序,就启动了一个独立的Java虚拟机进程,该进程的任务是解析并执行Java程序代码。

线程(thread)是操作系统能够进行运算的最小单位。线程被包含在进程之中,是行程中的实际运行单位。一条线程是指进程中的一个单一顺序的控制流,一个进程中可以并行多个现成,每条县城并行执行不同的任务。当进程内的多个线程同时运行时,这种运行方式称为并发运行。许多服务器程序,如数据库服务器和Web服务器,都支持并发运行,这些服务器能同时响应来自不同客户的请求。

进程和线程的主要区别在于:每个进程都需要操作系统为其分配独立的内存地址空间,而同一进程中的所有线程在同一块地址空间中工作,这些线程可以共享同一块内存和系统资源,比如共享一个对象或者共享已经打开的一个文件。

服务(service)也称为守护线程,是没有界面的,默默运行在系统后台的。他可以为应用程序提供一些更有特色的东西,比如播放MP3,开启一个播放MP3的服务,用户点击开始按钮通知服务开启,点击关闭按钮通知服务关闭,如果你禁用这个服务,那别人想播放MP3那是不行的,而且服务之间是有可能互相依靠的。

任务(task)是指由软件完成的一个活动。任务是比较抽象的概念,是一个一般性的术语,一个任务既可以是一个进程,也可以是一个线程。简而言之,它指的是一系列共同达到某一目的的操作。例如,读取数据并将数据放入内存中。这个任务可以作为一个进程来实现,也可以作为一个线程(或作为一个中断任务)来实现。

参考资料:http://blog.csdn.net/knighttools/article/details/8231055。

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (4)

  1. 注意下错别字!!!
    ubuntu的疯狂 2年前 (2015-05-05) 回复 编辑
  2. 亲,能都说一下不,别说到一半就没了,例如任务、线程、进程之间的区别..........................
    1年前 (2015-12-30) 回复 编辑
  3. 选个好的 才有保证 这话没错
    凌寒 1年前 (2016-01-04) 回复 编辑
  4. 谢谢博主哦
    凌寒 1年前 (2016-01-04) 回复 编辑