多任务,多进程,多线程解析
来源:互联网 发布:centos 6.5 64位 镜像 编辑:程序博客网 时间:2024/05/16 12:32
先弄清几个基本概念:
进程和线程都是操作系统中的概念,主要是面向计算机而言的。进程是执行中的程序,包括当前活动(通过处理器的值和处理器寄存器的内容来表示)。通常还包括进程栈,数据段和堆。程序本身不是进程,程序只是被动实体,如存储在磁盘上包含一系列指令的文件,而进程是活动实体,它有一个程序计数器来表示下一条要执行的指令和相关资源的集合。当一个可执行文件装入内存时,程序才能成为进程。每个进程可能处于下列状态之一:新建,运行,等待,就绪,终止。
线程也可以被看做轻量级进程。在引入了线程的操作系统中,一个进程可以有一到多个线程。在传统操作系统中,把进程作为拥有资源的基本单位和独立调度,分派的基本单位,而在引入线程的操作系统中,把线程作为调度和分派的基本单位,进程作为资源拥有的基本单位。因此,线程实际是要共享所属进程的内存的资源。
而任务一般是面向用户的。每个运行的任务就是操作系统所做的一件事情,例如你在用字处理软件编辑文档。而多任务则是多个任务可以同时进行,通常一个任务对应一个到多个进程。因此,多任务是以多进程为基础的。
操作的系统的多进程实现了多任务并发执行,程序的多线程实现了进程的并发执行。多任务、多进程、多线程的前提都是要求操作系统提供多任务、多进程、多线程的支持。例如现代的操作系统linux 等都有多任务、多进程、多线程的支持。
进程拥有进程控制块(PCB),操作系统通过进程控制块来识别进程的存在。PCB中一般包括的信息有:进程状态,程序计数器,CPU寄存器,CPU调度信息,内存管理信息,记账信息(CPU时间,实际使用时间等),I/O状态信息。操作系统通过进程调度来实现多任务的并发执行。调度的模式有两种:协作(非抢占)调度和抢占式调度。CPU调度可在以下四种环境中发生:
1.当一个进程从运行状态切换到等待状态。
2.一个进程从运行状态到就绪状态
3.一个进程从等待状态到就绪状态
4.一个进程终止
当调度只在上述1和4两种情况下发生时,称调度方案是非抢占的,否则是抢占的。
多线程也是在实际应用中因为有需要才发展起来的。例如为了减少程序延迟,增加程序可处理的实例数量等。多线程模型拥有4个优点:响应度高,资源共享,经济,多处理器体系结构的利用。
- 多任务,多进程,多线程解析
- 理解多任务、多进程、多线程
- 认识多任务、多进程、单线程、多线程(针对Java)
- 多进程、多线程、多任务(windows vs linux)
- 认识多任务、多进程、单线程、多线程
- 认识多任务、多进程、单线程、多线程
- 认识多任务、多进程、单线程、多线程
- 认识多任务、多进程、单线程、多线程
- 进程和线程的区别、多进程与多线程、并行与并发、多任务
- Python-多任务-进程
- 多任务和多线程
- 多线程 执行 多任务
- 多任务处理:多线程
- 多线程多任务断点续传
- 多任务 VS 多线程
- 多线程实现多任务
- 多线程实现多任务
- 多任务与多线程
- Oracle 修改表名
- 解压tar.gz
- 宏定义妙用(一)
- vs2005 快捷键
- ZJUT1010 诡秘的余数 大数对一位数求余
- 多任务,多进程,多线程解析
- 配置邮箱和邮件大小限制 !
- js_document有关getElementsByName 定义和用法
- css总结
- 转载"生活就是王道"
- 视频电话进度
- 杂谈:JPEG XR对flash的利好消息
- 从源代码中提取或过滤网页标签
- Notification中显示ProgressBar组件