找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 6589|回复: 4

在VB中实现多线程

[复制链接]

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

贡献奖关注奖人气王精英奖乐于助人勋章

发表于 2007-2-5 09:42:31 | 显示全部楼层 |阅读模式
<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/>&nbsp;&nbsp; Load Form1 <br/>&nbsp;&nbsp; Form1.Show <br/>End Sub <br/>Public Sub c1() <br/>&nbsp;&nbsp;&nbsp;&nbsp;....... <br/>End Sub <br/><br/>Public Sub c2() <br/>&nbsp;&nbsp; ......&nbsp;&nbsp; <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&amp;, ByVal 0&amp;, AddressOf c1, ByVal 0&amp;, ByVal 0&amp;, hthread1)&nbsp;&nbsp;--创建线程一 <br/>ithread2 = CreateThread(ByVal 0&amp;, ByVal 0&amp;, AddressOf c1, ByVal 0&amp;, ByVal 0&amp;, hthread1)&nbsp;&nbsp;--创建线程二 <br/><br/>CloseHandle ithread1&nbsp;&nbsp; --关闭线程一 <br/>CloseHandle ithread2&nbsp;&nbsp; --关闭线程二 <br/><br/>End Sub <br/><br/>Private Sub Form_Load() <br/><br/>End Sub&nbsp;&nbsp;<br/></div>
【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2007-2-6 23:27:12 | 显示全部楼层
<p>使用这种方式好象不怎么稳定</p><p>记得在CSDN里看到有人说过,VB里的很多控件都不是线程安全的,只要在多线程里一使用控件,基本上都会挂.......</p>
我就是嗷嗷叫的老马了......

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2007-8-31 10:54:52 | 显示全部楼层
<p>本来VB6就没有设计成支持多线程的....没关系</p><p>我们现在做的,是用不支持这多线程的工具去玩多线程,属于钻牛角尖罗,呵呵</p>
我就是嗷嗷叫的老马了......

76

主题

375

回帖

0

精华

铜牌会员

积分
231
发表于 2008-11-3 14:16:36 | 显示全部楼层
<p>我觉得多线程肯定是可以的,第一官方有使用ActiveX EXE的解决方案,第二能否运行多线程在于你的系统,不是编程环境。不过VB6不支持多线程的调试,对多线程的开发不太方便。</p><p>个人太菜,还在尝试,不过见到一些像是很稳定的样例了,有待测试。</p>

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2008-12-3 12:18:13 | 显示全部楼层
<p>http://www.m5home.com/blog/default.asp?id=54</p><p>这个例子就比较稳定,可以测试一下.</p>
我就是嗷嗷叫的老马了......

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表