Login
网站首页 > 文章中心 > VB6

怎样用VB实现多线程_VB如何实现多线程的方法

作者:小编 更新时间:2023-06-14 00:06:13 浏览量:40人看过

怎样用VB实现多线程_VB如何实现多线程的方法

软件介绍:vb多线程:怎样用VB写多线程如果是vb6.0不好实现,即使使用网上的api函数或者vb帮助里的activedll实现效果都不是很好!我的方法是,直接使用多进程...

vb多线程:怎样用VB写多线程

1.jpg

如果是vb6.0不好实现,即使使用网上的api函数或者vb帮助里的activedll实现效果都不是很好!我的方法是,直接使用多进程代替多线程!

VB如何实现多线程

现在说VB,一般是指VB.NET了,使用.NET框架实现多线程,网上很多例子了,搜索下就很多。VB6已经过时了,没有必要在学了,现在的公司基本没有用vb6的了

2.jpg

VB实现多线程

先说多线程:

方法 1 : VB多线程之CreateThread

不用多说,万变不离其宗,这是 Win32 内创建线程的唯一系统方法,以下介绍的多线程创建方式虽然不直

接接触这个 Win32 APi,但系统也是通过他创建的。

方法 2 : VB多线程之TimerSetEvent

这个函数是 Win32 系统的一个高精度计时器函数,通过调用这个函数,系统会创建一个新的线程,让Timer

回调函数中的代码运行在这个新线程中。

方法 3 : VB多线程之SHCreateThread

很多人应该没见过这个函数,这是 shlwapi.dll 的一个导出函数,这个函数看字面也能理解是个创建多线

程的函数,而且。。。 他是基于对象操作的多线程函数,也就是说他能够稳定的运行一些用上面2种方法创

建,但不能稳定运行的代码。至少这个函数在 IDE 的环境下表现的中规中矩! 使用方法可查 API-GUIDE

方法 4 :VB多线程之CreateRemoteThread

创建远程线程,经测试一点也不稳定,根本没法说下去了,还不如直接调用 CreateThread

但,做为一种线程的创建方法,还是希望能够熟悉一下,如果不用VB写代码,要写跨进程线程,这是一个简单易

行的办法,否则只能继续SetWindowHook了,熟悉汇编指令的还可以远程分配内存写硬编码执行

方法 5 : 简单说下 ActiveX 方式的多线程

论坛里面有用这种方法实现的稳定多线程,代码虽好,但我却不会用,在倡导绿色软件的今天,为了一个多线

程,而注册表里面又要多点xx,不好。。而且卸载麻烦。 用 ActiveX 创建线程与其他方式创建的线程最重

要的地方要主义,任何VB函数的调用最好都建立在新线程中新初始化的对象基础上执行,不要跨对象调用,

而 ActiveX 的安全线程本身也正是利用了这点,不知道研究 ActiveX 的老大们有没注意,利用他特性实

现的多线程,是初始化的一个新的线程,而这个线程中初始化的对象则是整个工程。很大的资源浪费,而且有

时候还不好控制,不是你想要的效果。总之一句话,新线程中要自己初始化新的对象而且最好不要用实例继承

方法 6 : 我的想法

记得以前 CSDN 中有人做过一个代码,通过函数地址抓取函数内的机器码,如果能够知道VB何时已将代码进

行了机器码的转换,然后抓取这些代码放到数组中执行,那应该是非常稳定的。这纯属娱乐的想法,虽然能够

实现,但有点过分了,除非是 VB 多线程的狂热者,否则我想不该花太多力气研究这个。

方法 7 : VB如何实现多线程异步

论坛中很多人问,timer控件的事件中代码是怎么运行的。其实这就是异步,对于单核CPU多线程的执行方式

与异步简直无异。而最重要的是,VB 中用异步实现代码执行是安全的。其实异步从大家开始Win GUI编程时

就开始接触了。例如窗体的消息循环中就经常会以异步的方式执行,1个消息正在执行的时候,另外的消息又

被执行了,也许这样说会觉得有些乱,但是大家看了源码就知道了。

最后土嘎嘎为大家分享一套免费的VB多线程源码:http://www.tugaga.com/soft/mb/295.html

版权声明:倡导尊重与保护知识产权,本站有部分资源、图片来源于网络,如有侵权,请联系我们修改或者删除处理。
转载请说明来源于"土嘎嘎" 本文地址:http://www.tugaga.com/jishu/vb/331.html
<<上一篇 2023-06-13
下一篇 >> 2023-06-14

编辑推荐

热门文章