进程、线程、服务、任务之间的区别

进程( process ):是指运行中的应用程序,每一个进程都有自己独立的内存空间。一个应用程序可以同时启动多个进程。例如对于 IE 浏览器程序,每打开一个 IE 浏览器窗口,就启动了一个新的进程。
线程( thread ):是操作系统能够进行运算的最小单位。线程被包含在进程之中,是行程中的实际运行单位。一条线程是指进程中的一个单一顺序的控制流,一个进程中可以并行多个线程,每条线程并行执行不同的任务。当进程内的多个线程同时运行时,这种运行方式称为并发运行。许多服务器程序,如数据库服务器和 Web 服务器,都支持并发运行,这些服务器能同时响应来自不同客户的请求。
服务( service ):也称为守护线程,是没有界面的,默默运行在系统后台的。可为应用程序提供一些更有特色的东西,比如播放MP3,开启一个播放MP3的服务,用户点击开始按钮通知服务开启,点击关闭按钮通知服务关闭,如果你禁用这个服务,那别人想播放MP3那是不行的。在 Android 里, Service 是四大组件之一,需要通过其他组件的启动或者绑定才能运行。① Android 里 Service 不是进程,它是运行在进程(运行的应用程序)之下。② Service 不是独立的线程,通常运行在主线程下,如果需要运行则需要其他组件启动或则绑定运行。
任务( task ):是指由应用程序完成的一个活动。任务是比较抽象的概念,是一个一般性的术语,一个任务既可以是一个进程,也可以是一个线程。简而言之,它指的是一系列共同达到某一目的的操作。例如,读取数据并将数据放入内存中。这个任务可以作为一个进程来实现,也可以作为一个线程(或作为﹣个中断任务)来实现。
PS :进程和线程两者区别:进程分配内存空间,线程不分配。每个进程可包含多个线程,线程共享进程的内存空间。多线程同时运行就是并发运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值