




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
多线程与聊天室程序的创建 主讲人 孙鑫 http www sunxin org 程序 进程和线程 程序和进程 程序是计算机指令的集合 它以文件的形式存储在磁盘上 进程 通常被定义为一个正在运行的程序的实例 是一个程序在其自身的地址空间中的一次执行活动 进程是资源申请 调度和独立运行的单位 因此 它使用系统中的运行资源 而程序不能申请系统资源 不能被系统调度 也不能作为独立运行的单位 因此 它不占用系统的运行资源 进程由两个部分组成 1 操作系统用来管理进程的内核对象 内核对象也是系统用来存放关于进程的统计信息的地方 2 地址空间 它包含所有可执行模块或DLL模块的代码和数据 它还包含动态内存分配的空间 如线程堆栈和堆分配空间 http www sunxin org 程序 进程和线程 进程 进程是不活泼的 进程从来不执行任何东西 它只是线程的容器 若要使进程完成某项操作 它必须拥有一个在它的环境中运行的线程 此线程负责执行包含在进程的地址空间中的代码 单个进程可能包含若干个线程 这些线程都 同时 执行进程地址空间中的代码 每个进程至少拥有一个线程 来执行进程的地址空间中的代码 当创建一个进程时 操作系统会自动创建这个进程的第一个线程 称为主线程 此后 该线程可以创建其他的线程 http www sunxin org 程序 进程和线程 进程地址空间 系统赋予每个进程独立的虚拟地址空间 对于32位进程来说 这个地址空间是4GB 每个进程有它自己的私有地址空间 进程A可能有一个存放在它的地址空间中的数据结构 地址是0 x12345678 而进程B则有一个完全不同的数据结构存放在它的地址空间中 地址是0 x12345678 当进程A中运行的线程访问地址为0 x12345678的内存时 这些线程访问的是进程A的数据结构 当进程B中运行的线程访问地址为0 x12345678的内存时 这些线程访问的是进程B的数据结构 进程A中运行的线程不能访问进程B的地址空间中的数据结构 反之亦然 4GB是虚拟的地址空间 只是内存地址的一个范围 在你能成功地访问数据而不会出现非法访问之前 必须赋予物理存储器 或者将物理存储器映射到各个部分的地址空间 4GB虚拟地址空间中 2GB是内核方式分区 供内核代码 设备驱动程序 设备I O高速缓冲 非页面内存池的分配和进程页面表等使用 而用户方式分区使用的地址空间约为2GB 这个分区是进程的私有地址空间所在的地方 一个进程不能读取 写入 或者以任何方式访问驻留在该分区中的另一个进程的数据 对于所有应用程序来说 该分区是维护进程的大部分数据的地方 http www sunxin org 程序 进程和线程 线程 线程由两个部分组成 1 线程的内核对象 操作系统用它来对线程实施管理 内核对象也是系统用来存放线程统计信息的地方 2 线程堆栈 它用于维护线程在执行代码时需要的所有参数和局部变量 当创建线程时 系统创建一个线程内核对象 该线程内核对象不是线程本身 而是操作系统用来管理线程的较小的数据结构 可以将线程内核对象视为由关于线程的统计信息组成的一个小型数据结构 线程总是在某个进程环境中创建 系统从进程的地址空间中分配内存 供线程的堆栈使用 新线程运行的进程环境与创建线程的环境相同 因此 新线程可以访问进程的内核对象的所有句柄 进程中的所有内存和在这个相同的进程中的所有其他线程的堆栈 这使得单个进程中的多个线程确实能够非常容易地互相通信 线程只有一个内核对象和一个堆栈 保留的记录很少 因此所需要的内存也很少 因为线程需要的开销比进程少 因此在编程中经常采用多线程来解决编程问题 而尽量避免创建新的进程 http www sunxin org 程序 进程和线程 线程运行 操作系统为每一个运行线程安排一定的CPU时间 时间片 系统通过一种循环的方式为线程提供时间片 线程在自己的时间内运行 因时间片相当短 因此 给用户的感觉 就好像线程是同时运行的一样 如果计算机拥有多个CPU 线程就能真正意义上同时运行了 http www sunxin org 单线程程序与多线程程序 单线程程序 多线程程序 一个线程 两个线程 http www sunxin org 互斥对象 互斥对象 mutex 属于内核对象 它能够确保线程拥有对单个资源的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七年级语文下册 第一单元 4展示华夏文化魅力说课稿 苏教版
- 广东2025自考时空信息工程英语二考前冲刺练习题
- 河南2025自考环境设计景观设计选择题专练
- 云南2025自考工程造价工程经济学案例题专练
- 过敏专题测试题及答案
- 《人间词话》说课稿-2025-2026学年高中语文文学中学生阅读指导目录(2020版)
- 2.2.2物体的结构层次教学设计-2023-2024学年人教版生物七年级上册
- 浙江2025自考工商管理企业管理咨询考前冲刺练习题
- 安徽2025自考新闻学经济法概论考前冲刺练习题
- 厂房建设项目的环境保护方案
- 吊装储罐施工方案
- 2025年电工证考试题及答案测试卷测试题(答案)
- 苏少版(五线谱)(2024)八年级上册音乐全册教案
- 细胞培养实验课件
- 高校实验室安全基础课(实验室准入教育)学习通网课章节测试答案
- 宁夏固原地区页岩气资源调查项目(宁隆参1井)报告表
- 2025年秋人教版二年级上册数学教学计划含教学进度表
- 2022-2023学年六年级数学上册第一单元:单位“1”转化问题专项练习(含答案)
- 2025年新检测设备借用协议书
- 肠造口并发症分型分级标准
- 新疆民族团结模范人物
评论
0/150
提交评论