社区
VB基础类
帖子详情
怎样同时call多个过程??即不等另一个过程完成就执行另一个??
WangTiger
2000-03-19 07:27:00
谢谢!
...全文
489
12
打赏
收藏
怎样同时call多个过程??即不等另一个过程完成就执行另一个??
谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jifeng
2001-01-26
打赏
举报
回复
请参考http://www.csdn.net/expert/Topic/59960.shtm
michaelpeng7799
2001-01-25
打赏
举报
回复
用多线程有一个叫createthread的 API。
bucher
2001-01-25
打赏
举报
回复
COFFEE不适合初学者,你可以去看看MSDN中关于VB多线程的实现,就在VB的说明里面。好像叫做“用部件编程”。
lujianjian
2001-01-25
打赏
举报
回复
haor(一个好人)说得对,MSDN 里有一个例子,
Coffee (Coffee2.vbp、CoffWat2.vbp、MTCoffee.vbp、XTimers.vbp)
Coffee 中包含以下几个部分:一个客户端 CoffWat2,两个 ActiveX 部件(OLE 服务器)Coffee2 与 MTCoffee。这三个工程共同演示了以下特性:
使用事件 (Coffee2) 的异步通知。
使用回调方法 (Coffee2) 的异步通知。
多线程 (MTCoffee)。
XTimers.vbp 是一个辅助工程,为 Coffee2 和 MTCoffee 提供了纯代码的定时器。
该示例可以视为“创建 ActiveX 部件”的“创建 ActiveX Exe 部件”循序渐进教程的延伸。关于异步通知与多线程的详细说明,请参阅“连编代码部件”。
文件 描述
CoffWat2.vbp CoffeeWatch 客户端工程。
CWMod1.bas 工程的启动代码
CWForm1.frm 客户端的主窗体。
ICoffNot.cls 用于回调方法的 ICoffeeNotify 接口。
CWNotMe.cls NotifyMe 对象实现 ICoffeeNotify 接口,使它能够接收回调。
CWThread.frm 演示多线程的客户端窗体。
CWCofTrk.cls CoffeeTracker 对象用于等待来自多线程 Coffee 对象的结束事件 。
AboutCof.txt 一个文档备份,演示在工程中存储相关文档的能力。
Coffee2.vbp Coffee2 部件工程。
Co2Cmon.cls CoffeeMonitor 类,用来演示使用事件的异步通知。
Co2Conn.cls Connector 类,用来允许多个客户端共享同一个 CoffeeMonitor 对象。
Co2CMon2.cls CoffeeMonitor2 类,用来演示使用回调方法的异步通知。
Co2Conn2.cls Connector2 类,用来允许多个客户端共享同一个 CoffeeMonitor2 对象。
Co2Mod1.bas 用来保存对共享的 CoffeeMonitor 和 CoffeeMonitor2 对象的引用。
MTCoffee.vbp MTCoffee 部件工程。
MTCoffee.cls 多线程的 Coffee 对象。
MTCMod1.bas 用于演示全局数据的实例化的标准模块。
XTimers.vbp 回调定时器工程.
XTimer.cls XTimer 对象.
XTimerS.bas XTimer.的支持模块。
运行
尽管该实例中的代码不多,但要运行它还是十分复杂的。因为它演示的是进程外部件。为了进行调试,进程外部件必须运行在单独的 Visual Basic 中。
另外,在开发环境中,示例所演示的特性(多线程和纯代码的定时器)要么是不可在其中演示的,要么是在其中演示有危险的。
将 XTimers.vbp 加载到 Visual Basic 中。在“文件”菜单中,选择“生成 XTimers.dll”,将工程编译成为一个 .dll 文件。
这时,千万不要在开发环境下运行 Xtimers。因为 XTimers 使用了 Windows API 来实现一个纯代码的定时器对象,所以必须对它进行编译。
将 MTCoffee 加载到 Visual Basic 中。在“工程”菜单,选择“引用”打开“引用”对话框。选择“Xtimers”,然后单击“确定”,将一个引用设置为编译后的 DLL。
在“文件”菜单,选择“生成 MTCoffee.exe”将工程生成一个.exe 文件。
将 Coffee2.vbp 加载到 Visual Basic 中。选择“工程”菜单中的“引用”,打开“引用”对话框。选定“Xtimers”,然后单击“确定”,将一个引用设置为编译后的 DLL。
按下 CRTL+F5 键,运行 Coffee2 工程。
在运行进程外部件工程的时候要使用 CRTL+F5 键,而不是 F5 键,这样才能够确认在部件为客户端提供对象之前能够捕获所有的编译错误。请参阅《部件工具指南》中的“创建 ActiveX Exe 部件”
启动 Visual Basic 的另一个实例,加载 CoffWat2.vbp。选择“工程”菜单中的“引用”,打开“引用”对话框。在对话框中选择Coffee2 (确保可以使用 Coffee2.vbp) 和 MTCoffee (确保可以使用 MTCoffee.exe),,然后单击“确定”,将引用设置为部件。
按 F5 键运行工程。
在运行示例应用程序时,请注意观察 MTCoffee 在为每个 Coffee 对象分配一个线程时的特点,可以发现,在将线程方式改为循环线程缓冲池之后,最好重新编译 MTCoffee。(在“工程属性”框的“通用”选项卡的“不参加执行”框中可以找到该选项。)在使用循环线程缓冲池时,可以观察到阻塞现象,因为同一线程上的对象共享全局数据。
也可以编译 Coffee2.exe 和 CoffWat2.exe,然后运行多个客户程序,从而观察到异步通知对象 CoffeeMonitor 和 CoffeeMonitor2 的共享。在多个客户时,循环线程缓冲池将引起阻塞,而且不同客户端使用的对象共享数据。
要彻底理解该示例应用程序的来龙去脉,请参阅《创建 ActiveX 部件》中的“连编代码部件”。
haor
2001-01-24
打赏
举报
回复
使用active exe
prefix
2001-01-17
打赏
举报
回复
似乎只能用多线程,即使用timer,当前线程的执行任务没有完成时,它不会再执行另一个。
WangTiger
2001-01-17
打赏
举报
回复
用timer空间!!!然后doevents
vbdabster
2001-01-17
打赏
举报
回复
建立多线程
subzero
2001-01-17
打赏
举报
回复
addressof & createthread
很简单
limengchen
2001-01-17
打赏
举报
回复
VB恐怕不行,因为它不能用多线程,用VC吧.要不用API,参考http://www.csdn.net/expert/Topic/59960.shtm
WangTiger
2000-03-19
打赏
举报
回复
怎样多线程?
Lin
2000-03-19
打赏
举报
回复
???不知你的意思? 采用多线程行不?
在Java中调用存储
过程
(详细)
在Java中调用存储
过程
(详细) 本文阐述了怎么使用DBMS存储
过程
。我阐述了使用存储
过程
的基本的和高级特性,比如返回ResultSet。本文假设你对DBMS和JDBC已经非常熟悉,也假设你能够毫无障碍地阅读其它语言写成的代码(即不是Java的语言),但是,并不要求你有任何存储
过程
的编程经历。 存储
过程
是指保存在数据库并在数据库端
执行
的程序。你可以使用特殊的语法
bat脚本中存在多条指令,但只
执行
到某条指令不继续向下
执行
的一种解决方法
bat脚本中如果存在批处理文件,必须使用call进行调用,如果不用call而直接调用别的批处理文件,那么
执行
完那个批处理文件后将无法返回当前文件并
执行
当前文件的后续命令 如:1.bat文件中存在以下命令 2.bat echo “2.bat finished!” 运行1.bat,输出结果不打印“2.bat finished!” 如修改1.bat: call 2.bat echo ...
多线程synchronized对象锁与静态锁之间的8锁问题理解
8锁问题 锁1:
多个
线程使用同一对象分别调用不同带有带synchronized关键字且非静态的方法 锁2:在锁1基础上,增加A线程
执行
的方法的
执行
时间,使得B有机会参与
执行
锁3:
多个
线程使用同一对象,
一个
线程
执行
带有对象锁的方法,
一个
线程
执行
普通方法 锁4:
多个
线程使用不同对象分别调用不同带有对象锁的方法 锁5:
多个
线程同
一个
对象分别调用对各自静态锁的方法 锁6:
多个
线程同
多个
对象分别调用对各自静态锁的方法 锁7:
多个
线程同
一个
对象分别调用对象锁的方法和静态锁的方法 锁8:
多个
线程不同对象分别调用对象锁的
JS同步异步以及回调函数?
1.背景介绍什么是同步,什么是异步?同步指的是一次只能
完成
一件任务。如果有
多个
任务,就必须排队,前面
一个
任务
完成
,再
执行
后面
一个
任务,以此类推。异步指的是每
一个
任务有
一个
或
多个
回调函数(callback),前
一个
任务结束后,不是
执行
后
一个
任务,而是
执行
回调函数,后
一个
任务则是不等前
一个
任务结束就
执行
,所以程序的
执行
顺序与任务的排列顺序是不一致的、异步的。2.知识剖析javascript实现异步的原...
Linux 下系统调用
过程
以及方法
目录 1、系统调用
过程
2、系统调用三种方法 2.1、通过 glibc 提供的库函数 2.2、使用 syscall 直接调用 2.3、通过 int 指令陷入 系统调用(System Call)是操作系统为在用户态运行的进程与硬件设备(如CPU、磁盘、打印机等)进行交互提供的一组接口。当用户进程需要发生系统调用时,CPU 通过软中断切换到内核态开始
执行
内核系统调用函数。 1、系统调用
过程
以 Linux 0.11 为例简述调用
过程
,没有查证现代操作系统是否有所变化,不过基本思路应该差不多。如下
VB基础类
7,763
社区成员
197,605
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章