串口轮循给N(1<N<65)台电梯发协议,现在要做成多线程的,每个线程控制一台电梯,接回数据处理方法是:读取1号电梯的所有数据,在读2号的,依此全部读完,如果哪个没返回数据连续读三次,如果还没回来,则认为超时,去读下一个电梯
哪位能给个大体思路的代码?
我的代码:
for (int i = 0; i < dslift.Tables[0].Rows.Count; i++)
                {
                    Thread th = new Thread(new ThreadStart(delegate() { SentEvent(dslift, i); }));
                    th.Start();
                 }
其中 dslift.Tables[0].Rows.Count为电梯个数N的值,SentEvent(dslift, i)发送的数据和处理返回值
我感觉这样很不对,至少应该发一条协议的到他的返回值了才能发第二条,不然那不就乱了,可是那样好像又成了单线程了,对收回的记录处理的很慢。