16,472
社区成员
发帖
与我相关
我的任务
分享
晕,搞了太复杂了
同一个线程 写--读--写--读
我写了一个命令,就要得到其结果,过了会,我再写,再得到结果,这是需求。
为啥放在主线程中呢? 主线程中有定时器,这个定时器的功能,可以对获得的数据发送给网络。
所以就放定时器中了。
此时有2个选择:
1.直接用readfile ,writefile,createfile等函数, createfile 的参数别用 重叠结构。
这种效率不好。那么需要改进。
参考你的和网络的文章,有了 2
2. 利用重叠结构体, 写用一个结构体,读也用一个结构体。
无论是读还是写,我都没有createevent一个句柄给重叠结构的m_hEvent赋值。
因为我直接用getoverlappedresult去查询系统缓冲区的状态, 让这个函数去等待,而
不是让 writefile去等待。
对于第2种,我窃以为 这种伪异步比 真正的同步稍微好一点。