欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于MFC的多线程编程技术.pdf

    • 资源ID:70015222       资源大小:203.30KB        全文页数:4页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于MFC的多线程编程技术.pdf

    第1 2 卷第2 期扬州职业大学学报v 0 1 1 2N o 2塑!生垒旦!坠婴尘堂!塑g 坐Q 坚!Y 堕h 西!醒塑:2 鲤基于M F C 的多线程编程技术杨立峰(平顶山工业职业技术学院,河南平顶山4 6 7 0 0 1)摘要:介绍了V i s u a lC+6 0 中利用M F C 类库进行多线程开发的编程技术,并利用该技术分析多线程编程中线程间的通信及同步对象的典型用法。关键词:多线程;M F c;同步对象;线程间的通信中图分类号:T P 3 1 1 5 2文献标识码:A文章编号:1 0 0 8 3 6 9 3(2 0 0 8)0 2 0 0 3 8 一0 4T h eP r o g r a m m j n gT e c h n j q u e0 fM u l t i t h r 明d j n gB a s e d 蚰M F CY A N G“一f e n g(P i n g d i n 伊h 如V 0 c a t i o r I a lC o U e g eo fl n d u s t r y,P i n g d i n g s h 鲫4 6 7 0 0 1,c h i m)A b s t r a c t:T h i s 枷c l ep r e s e n t st I l ep r 0 伊咖i n gt e c h n i q u et h a te m p I o y sM F Cd a t a b a s et 0c a r r yo nt h em u I t i t h r e a d i n gd e V e l o P m e n ti nV i s u a lC+6 0 M e a n w h i l e M e a n w h i l e,i ta n a l y s e st h et y p i c a lu s a g e0 ft l l ec o r r e-s p o n d e n c eb e t w e e nt l r e a d i n g 锄ds y n c h r o n o u so b j e c ti nt l l em u l t i t h r e a d i n gp r o g 姗m eb yu s i n gt h ea b o v et e c h n i q u e K e yw o r I b:m u l t i t h r e a d i n g;M F C;s y n c h r o n o u so b j e c;c o n。e s p o n d e n c eb e t w e e nt h r e a d i n g在现代的各种实时监控系统和通信系统中,如果用户的应用程序需要有多个任务同时进行相应的处理,则使用多线程是较理想的选择。一个线程负责检查网络,另一个线程管理磁盘驱动器,还有一个线程负责显示数据,三个线程结合起来共同完成文件服务,使用者也可以及时看到网络的变化。多线程应用范围很广,尤其是在目前的桌面平台上,系统的许多功能都在一个系统下运行,更需要应用程序能够同时处理多个事件,而这些正是多线程可以实现的。二1W i n d o w s9 x N T 是抢先式的多任务操作系统,程序对C P U 的占用时间由系统决定。多任务指的是系统可以同时运行多个进程,每个进程又可以同时执行多个线程。进程是应用程序的运行实例,拥有自己的地址空间。每个进程拥有一个主线程,同时还可以建立其他的线程。线程是操作系统分配c P u 时间的基本实体,每个线程占用的C P U 时间由系统分配,系统不停的在线程之间切换。进程中的线程共享进程的虚拟地址空间,可以访问进程的资源,处于并行执行状态。1M F C 多线程的编程方法1 1 创建线程在V C+6 0 下,M F C 应用程序的线程由C W i n T h r e a d 对象表示。V C+把线程分为两种:用户界面线程和工作者线程。用户界面线程能够提供界面和用户交互,而工作者线程主要用来处理程序的后台任务。程序一般不需要直接创建C W i n r l l l r e a d 对象,通过调用A 6【B e 百n T h r e a d()函数就会自动创建一收稿日期:2 0 0 7 一l O 1 0作者简介:杨立峰(1 9 6 8 一)。男平顶山工业职业技术学院计算机系讲师。硕士研究生。万方数据万方数据万方数据第2 期杨立峰:基于M F c 的多线程编程技术4 1r e t u m0:v o i dc M y s n V i e w:0 n s y n c h m()同步方式启动三个线程T O D 0:A d dy o I I rc o n l I n 柚dh a r I d l e rc o d eh e r ec o u n t=O:H w N Dh W n d=G e t S a f e H w n d();A f x B e g i n l l I r e a d(s y n c h r o f u n c t i o n,h w n d);A f x B e 百n r l l l r e a d(s y n c h r o f u n c t i o n,h w n d);胁B e 舀n 1 1 1 r 8 a d(g”c h r o f u n c t i o n,h W n d);编译、连接M y s n y 程序,执行菜单“S y n c h m-n i z e”结果见图1。图1 计算结果显然,使用临界区进行线程同步之后,3 个线程打印的计数器的值是均匀的递增,说明3 个线程没有交替接管控制权,确保在同一时刻,只有一个线程访问数据对象c o u n t。3 2 2 使用互斥对象进行线程同步互斥对象类似于临界区对象,但比临界区对象更复杂。它不仅允许同一程序的不同线程安全共享资源,而且允许不同应用程序的线程安全共享资源。一个互斥对象只能被一个线程拥有,如果另一线程已经占用了互斥对象,则系统将挂起当前的调用线程,直到这个互斥对象被占用的线程释放为止,这时等待的线程被唤醒并取得了对互斥对象的控制。同一应用程序的不同线程安全共享资源的方法同临界区对象类似。3 2 3 使用信号量对象进行线程同步临界区对象和互斥对象在同一时刻都只允许一个线程存取资源,而信号量对象可以允许多个线程同时存取资源。当创建信号量对象时,可以设置访问计数器的值来控制同时使用资源的线程数。每当一个线程访问资源时,访问计数器的值减l,当访问计数器的值为0 时,其他线程不再允许访问资源,直到某一线程释放信号量。(这时导致访问计数器加1)为止。使用语句C S e m 印h o r e 木s e m a=n e wC S e m a-p h o r e(2,2);来创建信号量对象。其中两个参数表示初始线程数和最大线程数。将上面例子程序中的线程控制函数作类似的改动即可实现使用信号量对象进行线程同步。4 结语多线程编程是W i n 3 2 不同于w i n l 6 的一个重要方面,其编程技术较为新颖,要设计出性能良好的多线程程序,不仅需要对操作系统的处理过程很清楚,还需要对具体应用有一个全面的认识,并对应用中各线程部分的关系非常清楚,对同步模块中的同步对象的具体含义应尽可能地清晰明了,以利于在程序中控制同步事件的发生,避免出现死锁或不能同步处理的现象。参考文献:1 王明福,余苏宁V i s 脚c+程序设计 M 北京:高等教育出版社,2 0 0 4 2 郝文化,王浩强w i n d o w 8 多线程编程技术与实例 M 北京:中国水利水电出版社,2 0 0 5 万方数据

    注意事项

    本文(基于MFC的多线程编程技术.pdf)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开