| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 5387 人关注过本帖
标题:VB6多线程
只看楼主 加入收藏
zhuyongxing
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:235
专家分:482
注 册:2009-8-5
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:4 
VB6多线程
VB6多线程
搜索更多相关主题的帖子: VB6 多线程 
2025-06-02 10:17
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4953
专家分:30124
注 册:2008-10-15
收藏
得分:20 
你百度吧, 嗷嗷叫的老马提供过例程和框架。好像是叫这个名字。
感觉那个框架还可以,我用来写过一个小程序。

使用之前,先搞定清几个定义,如 原子操作 ,锁。主线程,子线程。
如果能确保所有的的操作都是原子操作,那可以不使用锁。
还有,最关键的一点,VB6 的IDE无法调试多线程程序,可以编译,所以你得自己想办法调试。






授人于鱼,不如授人于渔
早已停用QQ了
2025-06-09 12:57
约定的童话
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:56
帖 子:249
专家分:1442
注 册:2021-8-1
收藏
得分:0 
直接把数据加载到子exe里面去运行吧,简单一点
2025-10-23 11:42
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1948
专家分:3019
注 册:2009-12-22
收藏
得分:0 
计时器控件,可以看作是多线程。


心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2025-11-11 11:08
冬瓜汤
Rank: 2
等 级:论坛游民
威 望:1
帖 子:20
专家分:75
注 册:2023-1-30
收藏
得分:0 
vbmthread多线程库简单易用,适用于vb6和vba32(在github上下载)

VbMThread库介绍:

方法:

Function Create(Owner As IThread, [Key As String]) As Boolean

创建子线程,key 为创建的每一个子线程命名,方便后续操作

Function Terminate(Wait As Boolean) As Boolean

退出当前子线程

Sub Cancel()
取消当前子线程

属性:

Property hThread As Long


返回子线程句柄,只读

Property Priority As ThreadPriorityConstants

设置子线程的优先级。

Property Suspended As Boolean

设置子线程是否休眠(挂起)状态

Property ThreadID As Long

返回子线程的线程ID,只读

事件:
Event  PriorityChanged(OldPriority As ThreadPriorityConstants, NewPriority As ThreadPriorityConstants)

事件:子线程优先级发生变化

Event SuspendedChanged()

事件:子线程休眠状态发生变化

对象:
IThread

Sub BackgroundProcedure(Key As String, StatusCallback As IThreadStatusCallback, Data As ThreadData)

子线程 调用函数或过程或类。
注:任何在BackgroundProcedure中,调用主线程的有关窗体、控件,都可能会引起vb6/VBE崩溃。

Sub Complete(Key As String, Data As ThreadData)

当子线程调用完成或取消时。

Sub StatusCallback(Key As String, Argument1, Argument2)

即BackgroundProcedure调用的函数运行完后,触发StatusCallback ,并将argument参数回调给主线程
注:有关主线程的窗体、控件的调用或引用,都只能在StatusCallback中

只有一个方法

Raise(Argument1], [Argument2])

用来告诉主线程,函数运行完成。并将argument参数传给主线程。

整个VBMThread线程库原理非常简单:即创建一个子线程,让子线程执行一段函数或过程,函数或过程执行完,通过argument参数将结果传给主线程,然后
销毁子线程。
注:在vba中一般cpu有几核就创建几个线程,不要太多(最好一个主线程,一个子线程辅助计算,调用就够了),vb6编译完之后则几乎不受限制。






[此贴子已经被作者于2025-12-28 15:54编辑过]

2025-12-28 15:41
快速回复:VB6多线程
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021422 second(s), 8 queries.
Copyright©2004-2026, BCCN.NET, All Rights Reserved