C++线程通信问题:用线程模拟计算机网络中的客户端服务器之间的数据通信,我刚开始想到的方法是使用全

C++线程通信问题:用线程模拟计算机网络中的客户端服务器之间的数据通信,我刚开始想到的方法是使用全局变量用Sleep(数据到另一方的时间)来改变全局变量的值实现的,但是后... C++线程通信问题:用线程模拟计算机网络中的客户端服务器之间的数据通信,我刚开始想到的方法是使用全局变量用Sleep(数据到另一方的时间)来改变全局变量的值实现的,但是后来发现如果你在sleep时间内又需要回复别的消息时候这种方法就行不通了,有没有一种方法能实习传输消息的同时确保自己又在运行呢?最好用windows.h来实现 mfc也可以 最好关键地方有备注哈 展开
 我来答
9527坏蛋
2014-04-28 · TA获得超过615个赞
知道小有建树答主
回答量:118
采纳率:0%
帮助的人:60.1万
展开全部
1、对于线程间通信肯定是用临界区和信号量搭配

2、首先建立两个线程,建立一个公共的临界区和消息队列、每个线程建立一个等待信号量
3、在线程的工作函数中处理消息循环,当没有消息就处于等待信号量状态WaitForSingleObject(mEvent,INFINITE);有消息就按消息类型处理
4、当需要从一个线程发送数据到另一个线程,首先给公共消息队列添加消息和数据,然后设置信号量SetEvent(mEvent);唤起对方线程
更多追问追答
追问
那数据到另一方所需时间怎么模拟
追答
那么就需要第三个中转线程,在第三个线程里面按照数据定义时间的长度进行分发,其实就是一个时间驱动型消息处理线程
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式