VB中的多线程

本来上网查看了一些文章,都说VB中多线程非常不稳定,很容易造成程序崩溃。然后我也写了一个简单的例子尝试,运行后,果然崩溃,而且后来造成VB程序损坏,重装了好几次VB,VB本身并不提供多线程,如果要使用,可以通过调用API函数实现,下面的总结是实现VB多线程的一些基本方法:
l 创建线程:Declare Function CreateThread Lib "kernel32" (ByVal lpThreadAttributes As Any, ByVal dwStackSize As Long, ByVal lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, LpthreadId As Long) As Long
通过上面API可以创建一个线程。将我们自己定义的函数的地址(Address of)传递给lpStartAddress参数,用来指定线程要做的事情。dwCreationFlags表示创建线程后该线程处于什么状态(如挂起就是常量值&H4)。该函数返回所创建线程的句柄(Handle)。
l 激活线程:Declare Function ResumeThread Lib "kernel32" (ByVal hThread As Long) As Long。如果线程挂起可以使用该函数激活。通过创建时获得的句柄来激活相应的线程。
l 线程中止(挂起):Declare Function SuspendThread Lib "kernel32" (ByVal hThread As Long) As Long。通过创建时获得的句柄来挂起相应的线程。
l 线程终止:Declare Function TerminateThread Lib "kernel32" (ByVal hThread As Long, ByVal dwExitCode As Long) As Long。同样通过创建时获得的句柄来关闭相应的线程。dwExitCode参数是API函数的返回值,表示当前线程的状态值。如果我们需要等进程关闭后才做其它事情,就可以用这个参数判断线程状态。
l 线程终止的退出码:Private Declare Function GetExitCodeThread Lib "kernel32" (ByVal hThread As Long, lpExitCode As Long) As Long。当执行终止线程操作后,可以循环等待,直到lpExitCode!= &H103,&H103表示线程仍存活。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值