| | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | |      |
|
在VB里多线程地执行过程的一种简单方案 [ 2006-01-04
| 作者:马大哈 | 来自:本站原创]
 |
这段时间在为朋友开发一个软件,而本人目前也仅是会一点VB,为这种软件中的"多线程"功能伤透了脑筋.
本来是想使用API,可是那个该死的CreateThread老不好用.....在那个模块里好象根本就不能访问控件,一访问就挂!!!(我觉得是我使用方法不对吧)
没有办法,时间紧,使用以前在网上见过的方法---------ActiveX EXE方式来实现吧.
使用这个方案,就很简单了:
一,建立一个ActiveX EXE工程,在里面添加需要异步执行的代码,并做好接口,并在工程属性里选择"每个对象使用一个线程",编译;
二,建立一个控件工程,引用刚刚生成的ActiveX EXE(不生成好象就无法实现多线程),再做一个接口,并生成控件.
有一点要注意,这个控件尽量做成轻量控件,因为在这种方案里,每个"线程"就是一个控件,一旦线程多了,控件将同等地增加.如果使用轻量控件的话,可以省N多资源.
三,这时才开始界面工程的编写.新建一个EXE工程,添加刚刚生成的控件,设置INDEX为0(就是建立一个数组控件啦).要使用多少个线程就LOAD多少个控件-------这个是很简单的事,就是一个"动态添加控件"的问题.
此时,使用ActiveX EXE辅助实现的多线程程序的框架已经出来了.
经过测试,的确是可以实现多个线程异步地工作(我最多使用200个线程同时工作,效果很不错)
|
|
|
|
|