C#编写串口数据收发程序,收发频繁,求教多线程处理机制!

![![![图片说明](https://img-ask.csdn.net/upload/201604/20/1461167601_434062.jpg)图片说明](https://img-ask.csdn.net/upload/201604/20/1461167592_877283.jpg)图片说明](https://img-ask.csdn.net/upload/201604/20/1461167576_770964.jpg)图片说明C#编写串口数据收发程序,点击界面按钮发送指令数据,等待接收返回的数据,此外还有周期性数据需要不断接收;接收到的数据要判断重复帧和是否是最后一帧,然后去掉帧头帧尾并显示在界面控件内;目前程序开了三个线程:接收、处理、发送,三个线程都是一直循环判断指针是否有更新,但这样导致界面切换太卡,请问该怎么处理这三个线程之间的关系才能使界面切换流畅呢,初学C#,如果能给出具体修改代码方法更佳,请大神帮帮忙啊~急!

不要过度同步UI线程,不要把耗时的代码写在UI线程。