strData = new byte[3]; 
                    strData[0] = 0x7E;
                    strData[1] = 0x06;
                    strData[2] = 0x20;
                    serialport1.Write(strData, 0, 3);
                    System.Threading.Thread.Sleep(100);
                    serialport3.Write(strData, 0, 3);
                    System.Threading.Thread.Sleep(100);                    reData1 = new byte[4];
                    reData3 = new byte[4];
                    try
                    {
                        serialport1.Read(reData1, 0, 4);
                        serialport3.Read(reData3, 0, 4);
                    }
                    catch(Exception ex)
                    {
                        MessageBox.Show("COM Exception" + ex.ToString(), "Exception", MessageBoxButtons.OK);
                    }
                    break;
如上,是我用serialport控件发送并接收数据的代码,刚开始执行的30次左右是没有问题的,但是30次以后就出现软件卡机的现象,在代码中查看时,发现是serialport1.Read(reData1,0,4)这句语句出现了异常,异常信息是:cannot evaluate expression because the current thread is in a sleep ,wait or join这是什么原因造成的呀?该如何解决呢?求高手指教啊!