标题:vb双进程问题的求助!
只看楼主
suzhanpeng
Rank: 4
等 级:业余侠客
威 望:7
帖 子:72
专家分:248
注 册:2016-9-28
结帖率:75%
已结贴  问题点数:20 回复次数:8 
vb双进程问题的求助!
要求
进程1:不停的给一个二维数组赋值
进程2:根据二维数组值的变化,取出这个变化的值
求助进程2的思路,怎么做二维数组变化的事件?
搜索更多相关主题的帖子: vb 进程 维数 变化 事件 
2018-12-19 08:46
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
得分:0 
1、不停的给一个二维数组赋值,有时间限制吗?如果没有时间限制,就是一种死过程,而且这种赋值速度极短,与微机的运行速率有关。
2、根据二维数组值的变化,取出这个变化的值,与上面所述同理,取出差值不是特别困难,但显示差值一闪而过,能够看清楚吗?

请不要选我!!!
2018-12-19 09:52
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
得分:0 
实现的关键与你赋值的频率和显示的频率有关。

1、如果赋值频率为每秒一次,赋值时间大约为100ms
2、检测频率也是每秒一次,检测时间大约为100ms

那么用timer就可以实现。


2018-12-19 10:23
suzhanpeng
Rank: 4
等 级:业余侠客
威 望:7
帖 子:72
专家分:248
注 册:2016-9-28
得分:0 
回复 3楼 wds1 和 2楼 ZHRXJR
赋值过程是通过事件得到的,时间不能确定。
因为前面要经过复杂的事件和判断处理得到,赋值的过程程序运行内存很大时间也很长,所以我想把取值后的处理单独一个线程运行。
2018-12-19 12:04
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:15 
这种的要求最难理解
我的理解是一个拼命计算,一个定时去取数据
取数据的不管当前是否计算完成,只管取现有的数据。

简单点就是定时器
1,计算过程中多写 DoEvents 。
2,定时器代码运行要短。

----
复杂就多线程,
自己百度一下例子
主线程 界面
子线程1,计算
子线程2,计时,取数。
需要使用 临界 ,防止内存冲突。


授人于鱼,不如授人于渔
早已停用QQ了
2018-12-19 12:43
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
得分:5 
如果是使用按钮给二维数组赋值,就不存在时间问题,因为时间是由用户自己控制的,如图:

请不要选我!!!
2018-12-19 12:44
suzhanpeng
Rank: 4
等 级:业余侠客
威 望:7
帖 子:72
专家分:248
注 册:2016-9-28
得分:0 
回复 6楼 ZHRXJR
按钮事件起不到自动的作用。
2018-12-20 08:11
suzhanpeng
Rank: 4
等 级:业余侠客
威 望:7
帖 子:72
专家分:248
注 册:2016-9-28
得分:0 
回复 5楼 风吹过b
就是想用用多线程
第二个线程取出数组中改变的值和新加入的值进行处理,问题是时间事件有缺陷,有没有更好的方法来处理它?
第一进程中给数组赋值和改变值得过程中执行一个自定义事件,把这个自定义事件放到第二个进行中进行处理可以吗?

[此贴子已经被作者于2018-12-20 08:24编辑过]

2018-12-20 08:16
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
得分:0 
回复 suzhanpeng:
你在4楼说:
 “赋值过程是通过事件得到的,时间不能确定
因为前面要经过复杂的事件和判断处理得到,赋值的过程程序运行内存很大时间也很长,所以我想把取值后的处理单独一个线程运行。”
又在7楼说:
“按钮事件起不到自动的作用。”

按钮事件不是事件吗?要自动,又回到时间问题了

因此你能不能说说,1、二维数组的维数、数据类型?2、对二维数组的赋值方法,是文本框输入还是其他方式输入?3、你的意图需要怎么实现自动的?
进一步说你的第一个进程“不停的给一个二维数组赋值”,是自动赋值还是手动赋值?不停是什么意思?经过一段时间还是其他?
你的第二个进程“根据二维数组值的变化,取出这个变化的值,求助进程2的思路,怎么做二维数组变化的事件?”如果是自动赋值,实际上非常容易实现,如果是手动赋值,必须在二维数组的值全部完成后才能实现。
必须将你的意图、数组等等说清楚,别人才能帮你!!不然一头雾水!!

请不要选我!!!
2018-12-20 12:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-492114-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021265 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved