【面经笔记】MFC

本文详细介绍了MFC下多线程的API,包括createthread、closehandle、waitforsingleobject等,以及互斥锁、事件对象和临界区的使用。同时,讲解了MFC的消息机制,包括消息队列、消息循环和消息映射。此外,还讨论了在MFC中不使用资源视图动态创建窗口的方法以及图像显示的流程和API。
摘要由CSDN通过智能技术生成

MFC下多线程的API

  • createthread()
    创建新线程,返回句柄

  • closehandle()
    关闭句柄,减少线程内核对象的引用计数,当线程运行结束且引用计数为0 ,系统释放内核对象。

  • waitforsingleobject()
    等待线程结束


互斥锁:

  • createmutex()
    创建互斥对象,返回句柄,第二个参数指定互斥对象是否为当前线程拥有

  • waitforsingleobject()
    等待上锁

  • releasemutex()
    解锁

对互斥对象,谁拥有谁释放,系统会对比当前释放操作线程ID与拥有互斥对象的线程ID是否为同一个。
如果线程完成了其代码,但是释放其拥有的互斥对象,则操作系统会将结束的线程拥有的互斥对象的线程ID和计数均置为0;

保证应用程序只有一个实例:通过命名互斥对象实现


事件对象:

  • CreateEvent()
    创建事件对象

  • waitforsingleobject()
    等待事件通知

  • setevent()
    事件通知

  • resetevet()
    设置事件对象无信号状态

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值