单线程的程序是不可以同时运行两个for循环的。
但你的要求可以通过代码优化实现,举个例子:
timer1:for i=1 to 100
a=a+i
next itimer2:
for j=1 to 100
b=b+i
next j你想要实现你的目的就应该这样写:
timer1:
static i,a
i=i+1
if i>100 then timer1.enabled=false
a=a+itimer2:
static j,b
j=j+1
if j>100 then timer2.enabled=false
b=b+j
其实还是两个timer交替执行,但代码简化了,并且确实是等价于同时运行。
因为我们PC机本身就是单线程的,只不过操作系统通过算法让CPU交替运行每个程序实现了一个假的但人发觉不出来的多线程
但你的要求可以通过代码优化实现,举个例子:
timer1:for i=1 to 100
a=a+i
next itimer2:
for j=1 to 100
b=b+i
next j你想要实现你的目的就应该这样写:
timer1:
static i,a
i=i+1
if i>100 then timer1.enabled=false
a=a+itimer2:
static j,b
j=j+1
if j>100 then timer2.enabled=false
b=b+j
其实还是两个timer交替执行,但代码简化了,并且确实是等价于同时运行。
因为我们PC机本身就是单线程的,只不过操作系统通过算法让CPU交替运行每个程序实现了一个假的但人发觉不出来的多线程
解决方案 »
- 仿作的采集软件运行慢,都会有哪些原因引起(问得范围可能太大了)?
- 水晶报表中的oRpt.ParameterFields.count =0???
- 如何通过控件名称来引用控件?
- 分数散完,不想再来CSDN!!!分数散完,不想再来CSDN!!!分数散完,不想再来CSDN!!!分数散完,不想再来CSDN!!!分数散完,不想再
- 如何设置字段的排序?急急急~!!~!!~(初学者,请多关照!)
- 请问如何用acess下的vba将excel中的数据导入到acess数据库中已经存在的表中
- 关于treeview添加接点的问题
- 关于vb中的帮助问题
- 高分请教:用CreatePolygonRgn产生的long型区域句柄如何保存?
- 向高手请教软盘中被删除数据的恢复方法!!
- ToolBar我怎末改变不了高度呀,属性里设也不行,代码写也不行:(
- 有问题才找你
抢先多任务嘛
把本来TIMER事件中的内容写在新函数里,由新线程调用
否则会出错