中易网

VB.NET用子线程进行大批量数据传输,UI卡死,请高手指教。代码如下

答案:2  悬赏:20  
解决时间 2021-03-21 21:18
Private Sub Run_btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Run_btn.Click
Thread_Main = New Thread(AddressOf Templ_chark)
Thread_Main.Start()
Loop_Mark = True
End Sub
Public Sub Templ_chark()
While Loop_Mark = True
Me.Invoke(New Thread_New(AddressOf Main_loop))
End While
End Sub
Public Sub Main_loop()
Modbus_Comunication(DataGridView1(3, 0).Value.ToString)
End Sub
Private Sub Stop_btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Stop_btn.Click
Loop_Mark = False
Thread_Main.Abort()
End Sub

Modbus_Comunication为一个通讯函数,耗时较长。
最佳答案
试试这个怎么样,添加在子进程里面,就加在你批量传输代码里的每一个传输后面,也就是大批量中的每传输一个数据就暂停一下,而不是每一个大批量才暂停一下
System.Threading.Thread.Sleep(10) '让它走慢一点
全部回答
试过My.Application.DoEvents没?加在while下一行 再看看别人怎么说的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
水喷砂机不吸砂只吸水怎么办
我爸爸今年52岁 脑梗赛 求助大家 中风恢复
男生要去见岳父,岳母,可是女生又没有把她有男
我新买了一条彪马的裤子 被划开了一个口子 怎
2016国庆加班工资怎么算,2016国庆放假加班费
1956年农历11月是月大还是月小?
据说国内一家企业首创了PIR技术(热释电红外
正则 改文件名,删除下划线之前的字符
如何查询网购物品是否发货
温州、宁波学开小笼包店,如何在最短的时间里
怎样将matlab中的数据导入到excel中
非诚勿扰电影苏琪同葛优喝酒那段的白衬衫
下列过程中涉及氧化还原反应的是(  )
爱乐活网站的盈利模式?如何赚钱? 和传统电
博山哪里有学习电脑维修的培训班
推荐资讯
三汇汽贸(徐州新沂市城市花苑22-116)地址有知
有没有含钾的保健品或营养品
空间互访是什么,为什么别人对我的空间互访是
三相异步电动机转子静止时,转子电流与定子电
井柏然对郑爽说需要我吗
西安哪里外来人口多
街上有人要身份证号及照相送汰渍洗衣粉是干嘛
顺风汽配地址在什么地方,想过去办事
谁知道天津武清梅厂镇上的申通快递的网点在哪
南京最大的水果批发市场在什么地方
梦幻西游手游90级后期大唐会修改成什么样
请问民国八年袁大头值多少钱?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?