重叠操作的实质是什么?欢迎讨论指正
重叠操作的实质是什么?在写完一个串口读写程序后,我一直在思考这个问题。个人理解是在进行读或写同时可以进行其他的操作,包括读写、写读重叠。
但实验的结果未能达到预期。比如:
WriteFile(cmd1);
WriteFile(cmd2);
ReadFile();
无论怎样都得不到cmd2的处理结果。后来反思了一下,想会不会是只是一条数据线进行收发,其他都是信号线(当然我对硬件了解不多)?如果是这样就可以直观的理解为什么收不到cmd2的结果。
DTE....cmd1....DCE....ret1....占线,等候DTE接收
DTE....cmd2....DCE,此时占线,应该失败,但WriteFile无失败信息
DTE: PC
DCE: Motorola 388c
如果假设成立的话,所谓的重叠就不能有读写重叠,即在同一个连接上只能同时进行一个任务,那么有无必要单独开线程读取?
重叠机制带给我们的最大益处仅仅是同时处理其他非读写任务吗?
抛砖引玉,望踊跃发言。