- 9
- 0
- 约2.07万字
- 约 86页
- 2016-12-31 发布于北京
- 举报
第16章 多任务与多线程编程 本章主要教学内容 进程与线程 线程的种类与MFC同步类 线程的使用 线程的同步及常用的同步对象 第16章 多任务与多线程编程 16.1 程序、进程和线程概述 16.2 线程的种类 16.3 线程的创建、启动和终止 16.4 线程的操作和管理 16.5 在VC++环境中使用同步对象 16.6 本章小结 16.7 思考与练习 16.1 程序、进程和线程概述 16.1.1 多任务、进程和线程 16.1.1 多任务、进程和线程 16.1.1 多任务、进程和线程 16.1.1 多任务、进程和线程 16.2 线程的种类 16.16.1 MFC中的线程类 16.16.2 用户界面线程(UI) 16.16.3 工作者线程 16.3 线程的创建、启动和终止 16.3.1 线程的创建 16.3.2 线程的启动 16.3.3 线程的终止 16.4 线程的操作和管理 16.4.1 线程的运行状态的设置 16.4.1 线程的运行状态的设置 16.4.2 线程的优先级 16.4.3 线程间的通信 16.5 在VC++环境中使用同步对象 16.5.1 事件对象 16.5.2 临界区 16.5.4 信号灯 16.6 本章小结 线程与进程的基本概念 与线程相关的一些概念和函数 用于线程同步的对象以及MFC中的四个较为常用的线程同步类 当在线程的执行函数中调用该函数时,线程暂时挂起,系统监视hHandle所指向的对象的状态。如果经过dwMilliseconds毫秒后,hHandle指向的对象变为有信号状态,则WaitForSingleObject()返回,线程被释放,且返回值为WAIT_TIMEOUT;如果在挂起的dwMilliseconds毫秒内,线程所等待的对象在某一时刻变为有信号,则该函数立即返回,返回值为WAIT_OBJECT_0。 16.5.1 事件对象 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 参数dwMilliseconds有两个具有特殊意义的值:0和INFINITE。若为0,则该函数立即返回;若为INFINITE,则线程一直被挂起,直到hHandle所指向的对象变为有信号状态时为止。 16.5.1 事件对象 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. CEvent::ResetEvent( )把对象设置为无信号状态,程序在WaitForSingleObject(hHandle,INFINITE)处等待。 CEvent::SetEvent( )把对象设置为有信号状态,释放等待的线程。 如果CEvent对象为自动事件,则当WaitForSingleObject(hHandle,INFINITE)返回时,自动把CEvent对象重置为无信号状态。 16.5.1 事件对象 总结以上,几个函数的使用顺序为: Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. B线程在执行到CEvent类成员函数Lock( )时将会发生阻塞,而A线程此时则可以在没有B线程干扰的情况下对共享资源进行处理,并在处理完成后通过成员函数SetEvent( )向B发出事件,使其被释放,得以对A先前已处理完毕的共享资源进行操作。 16.5.1 事件对象 另外通过一个例题来演示事件的工作原理: Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 临界区(Critical Section)是一段代码,该代码独占对某些共享资源的访问,在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。 临界区在被释放后,其他线程可以继续抢占,并以此达到用原子方式操作共享资源的目的。 Evaluation only. Created with Aspose.Slides for
您可能关注的文档
最近下载
- 音体美教学常规要求.doc VIP
- (2025)新课标《义务教育数学课程标准(2022年版)》测试题(附含答案) .pdf VIP
- 质量工程师中级培训教程.doc VIP
- 高中英语(北师大版)必修3—单词表.pdf VIP
- Unit 1 Time to Relax (第1课时) Section A 1a- 2d 课件 2026年春人教版英语八年级下册.pptx VIP
- QE质量工程师培训完整版教材.ppt VIP
- 杜曼教育——如何教宝宝学数学.pdf VIP
- 香港小学中文修辞手法练习.pdf VIP
- 2025-2026学年初中数学八年级上册(2024)沪教版(五四制)(2024)教学设计合集.docx
- GNSS接收机抗干扰技术研究.pptx VIP
原创力文档

文档评论(0)