在VB中实现多线程
<strong>在Vb下实现多线程 [完全成功]</strong><div style="PADDING-RIGHT: 0px; MARGIN-TOP: 10px; FONT-SIZE: 9pt; OVERFLOW-X: hidden; WIDTH: 97%; WORD-BREAK: break-all; TEXT-INDENT: 24px; LINE-HEIGHT: normal; HEIGHT: 200px; WORD-WRAP: break-word;"><br/>新建一Module <br/>Declare Function CreateThread Lib "kernel32" (lpThreadAttributes As Any, ByVal dwStackSize As Long, ByVal lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadID As Long) As Long <br/>Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long <br/><br/>Sub main() <br/> Load Form1 <br/> Form1.Show <br/>End Sub <br/>Public Sub c1() <br/> ....... <br/>End Sub <br/><br/>Public Sub c2() <br/> ...... <br/>End Sub <br/><br/>新建一窗体 <br/><br/>Private hthread1 As Long <br/>Private hthread2 As Long <br/>Private ithread1 As Long <br/>Private ithread2 As Long <br/><br/>Private Sub Command1_Click() <br/><br/>ithread1 = CreateThread(ByVal 0&, ByVal 0&, AddressOf c1, ByVal 0&, ByVal 0&, hthread1) --创建线程一 <br/>ithread2 = CreateThread(ByVal 0&, ByVal 0&, AddressOf c1, ByVal 0&, ByVal 0&, hthread1) --创建线程二 <br/><br/>CloseHandle ithread1 --关闭线程一 <br/>CloseHandle ithread2 --关闭线程二 <br/><br/>End Sub <br/><br/>Private Sub Form_Load() <br/><br/>End Sub <br/></div> <p>使用这种方式好象不怎么稳定</p><p>记得在CSDN里看到有人说过,VB里的很多控件都不是线程安全的,只要在多线程里一使用控件,基本上都会挂.......</p> <p>本来VB6就没有设计成支持多线程的....没关系</p><p>我们现在做的,是用不支持这多线程的工具去玩多线程,属于钻牛角尖罗,呵呵</p> <p>我觉得多线程肯定是可以的,第一官方有使用ActiveX EXE的解决方案,第二能否运行多线程在于你的系统,不是编程环境。不过VB6不支持多线程的调试,对多线程的开发不太方便。</p><p>个人太菜,还在尝试,不过见到一些像是很稳定的样例了,有待测试。</p> <p>http://www.m5home.com/blog/default.asp?id=54</p><p>这个例子就比较稳定,可以测试一下.</p>
页:
[1]