急,在线等待!

有个串口的问题,希望大家帮帮忙!
开辟一个线程,让串口一直处于监控读数据当中,但这时又要发数据,怎么实现!若退出线程的话,可能又错失读数据!
[87 byte] By [jxfzamdzyx] at [2008-2-12]
# 1
不用停线程呀,串口读到的数据都是在缓冲里,只要不溢出就可以了,你可以随时向外发数据的。
dz_w-快乐之星 at 2007-10-25 > top of Msdn China Tech,VC/MFC,基础类...
# 2
一个读线程,一个写线程,两个线程共享一个读写互锁的缓冲队列
modena-非云 at 2007-10-25 > top of Msdn China Tech,VC/MFC,基础类...
# 3
串口是全双工的,用两个线程处理,不必考虑同步问题.
# 4
打开串口时用异步方式
m_hCom = ::CreateFile(串口名,
GENERIC_READ|GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
NULL);
读串口时采用如下操作
OVERLAPPED overlapped;
overlapped.hEvent=CreateEvent(NULL.TRUE,FALSE,NULL);
……
ReadFile(m_hCom, m_szInBuffer, nWantRead, &nRealRead, &overlapped);
//立即返回,不会阻塞
..........................

通过
GetOverlappedResult(m_hCom, &overlapped, &nRealRead,TRUE);//监测是否读完
……
然后再
ResetEvent(overlapped.hEvent);
dz_w-快乐之星 at 2007-10-25 > top of Msdn China Tech,VC/MFC,基础类...
# 5
我想用一个线程,因为写的时侯只是发送,但在调的时侯发现写了以后要关闭句柄,再重新建立句柄再调用线程读!
jxfzamdzyx at 2007-10-25 > top of Msdn China Tech,VC/MFC,基础类...
# 6
dz_w(快乐之星),当我在读的同时要写怎么办!
jxfzamdzyx at 2007-10-25 > top of Msdn China Tech,VC/MFC,基础类...