ljx_csdn
2017-10-11 06:27MFC多线程以条件变量或者是消息通知机制来执行子线程问题
20在MFC做了一个简单的通过网卡发包收包(用的是WinPcap)并加以处理的小程序。一开始实现的方法是发包收包都各自创建了一个线程,每个线程里都有一个while死循环不停轮询看是否有包要发出或者接受处理,这样一运行就把CPU给占用完了,后来分别在两个线程的对应位置加了Sleep()函数,这样基本不会卡死了,但是感觉效果还是不好。现在想实现的是通过条件变量或者是消息通知这样类似的机制,当发送的包或者接收的包不为空了,再给线程一个通知,告诉它该发送或者接收包了,这时线程才开始执行,否则让它为阻塞状态,不再占用CPU。
- 点赞
- 回答
- 收藏
- 复制链接分享
3条回答
为你推荐
- MFC如何将数据显示在编辑框中?
- c语言
- 开发语言
- c++
- 3个回答
- MFC多线程以条件变量或者是消息通知机制来执行子线程问题
- 阻塞
- winpcap
- 多线程
- 线程
- mfc
- 3个回答
- MFC对话框初始化时新建线程,调用OPENCV显示视频文件的问题。
- 4个回答
- MFC跨线程调用另一个线程函数执行的函数
- 线程
- 1个回答
- MFC为什么定时器并发不需要锁定变量,而多线程并发就需要锁定变量
- 多线程
- 2个回答
换一换