- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多线程1153同步对象
11.1 进程与线程 11.2 线程的分类 11.3 创建和使用线程 11.4 设置线程的优先级 11.5 线程之间的通信与同步 11.6 工作者线程实例 11.7 用户界面线程实例 (9)同时,在类CThreadTestAView中为上面两个自定义消息添加两个响应函数。代码如下: //头文件ThreadTestAView.h //////////////////////////////////////////// class CThreadTestAView:public CView { … LResult OnQuestion(WPARAM wParam, LPARAM IParam); LResult OnAvswer(WPARAM wParam, LPARAM IParam); … }; ////////////////////////////////////////// //实现文件ThreadTestAView.cpp ///////////////////////////////////////// void CThreadTestAView::OnQuestion(WPARAM wParam, LPARAM IParam) { //问题生成,开始回答 m_IsAnswer=TRUE; m_pThread2-ResumeThread(); } void CThreadTestAView::OnAnswer(WPARAM wParam, LPARAM IParam) { //回答完毕,暂停【回答】线程 m_pThread2-SuspendThread(); if(!m_IsCorrect) { //用户未回答,则给出答案 CString s; s.Format(%3d * %3d=%3d, m_a, m_b, m_c); MessageBox(s, 正确答案); } //暂停1秒 Sleep(1000); m_IsCorrect=FALSE; m_IsAnswer=FALSE; //开始下一轮问题 SetEvent(hEvent1); } (10)在头文件ThreadTestAView.h中增加一个用户键盘输入响应的函数OnChar的声明。代码如下: //头文件ThreadTestAView.h ///////////////////////////////////////// class CThreadTestAView:public CView { protected: … afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags); }; 在ThreadTestAView.cpp文件中实现OnChar函数。 ////////////////////////////////////////// //实现文件ThreadTestAView.cpp ///////////////////////////////////////// BEGIN_MESSAGE_MAP(CThreadTestAView. CView) … ON_WM_CHAR() void CThreadTestAView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) { //TODO:在此添加消息处理程序代码和/或调用默认值 if(m_IsStart m_IsAnswer) { //用户给出回答 if(nChar=y | | nChar= =y) SetEvent(hEvent2); } CView::OnChar(nChar, nRepCnt, nFlags); } (11)在OnDraw函数中添加如下代码,实现问题和答案的输出。 void CThreadTestAView::OnDraw(CDC* pDC) { CThreadTestADoc* pDoc=GetDocument(); ASSERT_VALID(pDoc); //TODO:在此处为本机数据添加绘制代码 if(m_IsStart) { if(!m_IsCorrect) { CString s; s. Format(%3d * %3d=?, m_a, m_b); pDC-TextOut(50,50,s); } else { CString s; s. Format(%3d * %ed=%3d, m_a, m_b, m_c); pDC-TextOut(50,50,s); } } } (12)在视图类的初始化函数中启动两个线程,代码如下: void CThreadTestAView::OnInitialUpdate(
您可能关注的文档
- 则考虑实施肠内营养.ppt
- 第一章响应文件格式 - 苏州轨道交通.doc
- 解析几何基本结论.doc
- 使用dellusbkey软件将u盘虚拟成软驱加载控制器驱动安装.doc
- 华南前汛期降水异常的时空变化特征-高原气象.pdf
- 基于openmp的并行ga加速求解换热网络设计-高校化学工程学报.pdf
- 校园网高清视频直播传输系统设计-哈尔滨理工大学学报.pdf
- 皮鞋保暖内衣.doc
- 如何生成教师用户密码-洛阳东升第二中学.doc
- 慢性肾脏病与营养不良.pdf
- 白天晚上教学课件.ppt
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题带答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解一套.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及完整答案详解1套.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解1套.docx
- 2025年山东菏泽市事业单位招聘急需紧缺岗位目录(第一批)笔试模拟试题参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及答案详解1套.docx
- 画西瓜教学课件.ppt
最近下载
- 单层钢结构厂房施工组织设计-.doc VIP
- 未来可期,不负高三——高三启动仪式高三第一课-2024-2025学年高中主题班会(共29张ppt).pptx VIP
- T∕CHES 32-2019 节水型高校评价标准(可复制版).pdf
- 墙面粉刷施工工艺.docx VIP
- 环氧地坪施工.docx VIP
- 2025广西南宁市交通运输综合行政执法支队招聘编外聘用人员5人备考试题及答案解析.docx VIP
- 青少年航天知识竞赛题库及答案.docx
- 环氧地坪施工工艺流程.docx VIP
- DB 34T 2752-2016 用人单位职业病危害现状评价导则.docx VIP
- 2025年高考全国1卷读后续写讲评课件 -2026届高考英语一轮复习专项.pptx
文档评论(0)