VB 如何实现同时做多个事情
答案:2 悬赏:40 手机版
解决时间 2021-03-01 16:21
- 提问者网友:謫仙
- 2021-03-01 03:11
VB 如何实现同时做多个事情
最佳答案
- 五星知识达人网友:野味小生
- 2021-03-01 03:23
通过多线程的操作来实现多个操作。追问您认为我碰到的这个问题是由于单线程而造成的吗?追答是单线程的问题。你这种情况用多线程就比较好。
1、你的这个需要开的线程做的事情是与硬件交互,与软件界面无关,所以适合多线程
2、多线程慎用的原因是多个线程同时访问界面会影响。
1、你的这个需要开的线程做的事情是与硬件交互,与软件界面无关,所以适合多线程
2、多线程慎用的原因是多个线程同时访问界面会影响。
全部回答
- 1楼网友:愁杀梦里人
- 2021-03-01 04:49
这个问题比较复杂,不是几十个字能说清楚的。 提两点建议吧:
1、在每个 Timer 的 OnTimer 事件中输出一下时间,最起码要精确到毫秒。
这样你可以通过分析输出的日志清楚的了解到发生延时究竟是在那个部分。
2、读取下位机数据无论是通过串口还是以太网通讯,都应该尽可能的使用事件触发。
以串口通讯为例,在 OnComm 事件中只需将串口的硬件缓冲区的数据读入自己的缓冲区就可以了。
而数据处理部分可以通过 Timer,每100毫秒检测一下缓冲区数据进行处理。
原理说着简单,实现起来往往不那么容易,得因地制宜看具体情况来写。
VB6不能直接支持多线程,VB.net可以。
1、在每个 Timer 的 OnTimer 事件中输出一下时间,最起码要精确到毫秒。
这样你可以通过分析输出的日志清楚的了解到发生延时究竟是在那个部分。
2、读取下位机数据无论是通过串口还是以太网通讯,都应该尽可能的使用事件触发。
以串口通讯为例,在 OnComm 事件中只需将串口的硬件缓冲区的数据读入自己的缓冲区就可以了。
而数据处理部分可以通过 Timer,每100毫秒检测一下缓冲区数据进行处理。
原理说着简单,实现起来往往不那么容易,得因地制宜看具体情况来写。
VB6不能直接支持多线程,VB.net可以。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯