多线程运行速度问题?
本帖最后由 lylkr 于 2013-12-07 20:49:50 编辑 vb.2005 xp
有12个线程,在一定时器中定期执行
有一个40ms定时器
private sub timer
ls=gettickcount
for i=1 to 12
td(i).start()
next
sj=gettickcount-ls
end sub
现在的问题是启动12个线程需要近200ms(sj)的时间,这个时间太长了
本想通过将12个线程改成同程序一同启动的死循环,在循环中判断是否执行具体的代码,
但是这个方法严重拖慢程序的响应速度?
请教有什么方法能快速开始执行线程中的代码
[解决办法]
必然是你线程设计问题。
如果实效要求高,可以预处理,先启动12个线程,每个线程用一个状态纪录是否执行、暂停或是终止。
在timer中,更改12个状态为可以运行,线程处理完再修改为暂停。
每40ms启动12个线程,时间是够的,但执行一段时间后(可能很短,几秒),就会越来越慢。
换个思路吧。