关于多线程采集串口数据解决方法

关于多线程采集串口数据
我想用VC写一个程序,读入串口的数据并进行处理。 有两个串口设备,每个设备每秒发送12帧*20字节的数据。波特率是9600.

现在的问题是应该怎样接收数据呢?我以前只用过一个串口,就是让程序傻等着把数据接收完然后再处理;现在两个设备的话好像就不能这样了,要是等着接收完一个设备的数据,另一个设备发送的旧数据还没接收就被新数据覆盖了。还有个问题就是要是程序一直占用大量时间来接数据是不是就没空处理了啊?

我想能不能新建两个线程来监控两个串口,然后通过触发事件来中断接收数据,主线程就进行处理。这样可以吗?
因为之前没接触过。。。 小白了请多包涵~~

另外有没有这方面的范例程序啊,能不能提供一下。

请大家帮帮忙,谢谢啦~

------解决方案--------------------
向这样的问题,一般都是用线程来接收数据的。至于数据的处理,一般也不会交给主线程,而是交给另外一个数据处理线程来执行,否则主线程会假死。主线程的主要工作是展示接收到的内容,进行必要的用户展示和交互。