串口编程中什么时候用异步方法读取数据,什么时候用同步方法读取数据??

来源:百度知道 编辑:UC知道 时间:2024/06/20 03:45:10

个人研究认为串口类的读操作都是同步方法,为了防止同步接受数据时由于超时等问题使主线程死锁,建议使用线程异步接受数据,如:
//异步读取
private void AsyReceiveData(object serialPortobj)
{
SerialPort sp = (SerialPort)serialPortobj;
System.Threading.Thread.Sleep(1000);
MessageBox.Show(sp.ReadExisting());
sp.Close();
}
//开启接收数据线程
private void ReceiveData(SerialPort sp)
{
//异步接收数据线程
Thread threadReceiveSub = new Thread(new Parameterized
ThreadStart(AsyReceiveData));
threadReceiveSub.start}