C#多个虚拟串口从设备读取数据 100

现在做一个程序,希望从多个虚拟串口读取数据,现在用多线程已经实现从多个虚拟串口读取数据,并成功的显示在datagridview中,虽然用了多线程,但是每个线程读取的数据是... 现在做一个程序,希望从多个虚拟串口读取数据,现在用多线程已经实现从多个虚拟串口读取数据,并成功的显示在datagridview中,虽然用了多线程,但是每个线程读取的数据是一个一个依次随机的读取的,不是同时读取并显示出来。
现在想实现读取数据时,每个串口基本同步的读取数据,这样的话效率就会提高很多,如何实现呢?希望高手指点一下
多线程:
for (int i = 0; i < guabiaoshu; i++)
{
Thread myThread = new Thread(new ThreadStart(ReadAddress));
myThread.Name = String.Format("Thread{0}", i);
myThread.Start();
}
先在此谢过!
本人菜鸟,所以希望有程序说明最好,解决问题财富值可以追加哦!
展开
 我来答
yuanwei64
2013-05-22 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:153
采纳率:0%
帮助的人:136万
展开全部
按我的理解 其实关键还在ReadAddress上,不管你开多少线程,都是调用同样的方法,一个线程不结束,另外一个也调用此方法的话,会发生死锁的。
解决办法是将方法放入一个类封装,每次开启线程后,调用的方法——首先初始化类,然后再执行类里面的方法,这样就分开了,也就不会一个一个来执行了。
更多追问追答
追问
我是菜鸟,如何封装,能不能代码示之!
追答
具体得看看方法里面了,或者自己再建一个方法 这个方法实现  实例化类,再调用类里面的ReadAddress   这样在每个线程里面执行的这个方法都是重新实例化过的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式