十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
学习一下后台线程,
创新互联建站是一家专业提供滨州企业网站建设,专注与网站设计、成都网站设计、H5页面制作、小程序制作等业务。10年已为滨州众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
看一下3个timer类,
实在想简单,就在UI线程里用timer控件去实现
第一个for完成对delay_time参数的控制,即共循环多少次内部循环
第二个for(内部循环),完成对j从0到199的控制,共循环200次。
翻译成汇编就是:
(R0为传递参数)
DELAY:
MOV R1,#200
DJNZ R1,$
DJNZ R0,DELAY
RET
Imports System.Threading
Thread.Sleep(1000)’延迟1秒
2.PauseWait(1000)’延迟1秒
Public Sub PauseWait(ByVal HowLong As Long)
Dim tick As Long
tick = My.Computer.Clock.TickCount
Do
My.Application.DoEvents()
Loop Until tick + HowLong My.Computer.Clock.TickCount
End Sub
可以利用Timer时钟控件实现,这样做的好处是无需等待,释放CPU时间去做别的事
@echooffechohellonulping127.1/10echoworldpause::输出hello,延迟10秒后,输出world。::将/10,改为/100就延迟100秒。举一反三,你懂得……
Threading.Thread.Sleep(500)这句是线程停止等待的,在这500毫秒的时间里你的任何动作都是不响应的,理论上再SendKeys.Send(TextBox2.Text)这段时间内你可以动作,但是send是毫秒级完成的,你还没有来得及响应就进入了下一次的循环,所以跟卡死类似
解决方法:通过timer定时器延时