« 北京空调安装供暖和物业管理部门代理注册公司购置固定资产所发生的支出 »

数据采集在实际创建多线程的多任务对象

数据采集在实际创建多线程的多任务对象

由于VB5支持多线程的组件技术,可以用多线程来优化多任务对象的性能。在多线程下,每个新的多任务对象都独立运行-即单个客户不能占用其他客户的远程应用程序。

        在实际创建多线程的多任务对象时有数据采集一个很大的限制-即应用程序不能包含窗体。这意味着应用程序无法与用户交互。但是可以通过用多线程应用程序发放单用途应用程序对象的运行实例来解决这个问题,在VB5中,这种类型的多线程应用程序称为线程池管理器。

在中文VB5中建立一个多线程的应用程序的基本步骤如下:
(1) 从“工程”菜单中选择项目“工程1属性”。
(2) 在“工程属性”对话框中选择“ActiveX EXE”工程类型,“启动对象”下拉框中选择“无”,此时“执行无用户界面”的复选框有效,选中它。
(3) 在“线程缓冲池”项中选择于包含的线程数。
(4) 加入程序运行需要的功能代码。

  多线程应用程序可为每个对象分配一条数据采集线程或固定数量的线程,当新对象创建时循环使用它们。作为一个缓冲的线程池管理程序,可以利用它为客户端应用程序维护打开的自动化服务器实例。在这种方案中,如果客户端应用程序需要使用某个对象,它们需要向缓冲池管理程序请求使用一个线程。缓冲池管理程序将检查缓冲池,并决定是否准许请求。这种方法具有以下优点:
(1)它避免了每个客户端请求带来的大量自动化服务器创建费用。因为缓冲池通常是在客户端需要服务器之前就创建完毕的。
(2)根据客户端请求的频率、潜在的客户端的个数以及服务器任务所需的时间,创建的缓冲池的大小比一对一的客户/服务器分配方案通常要小得多(而且缓冲池的大小是可以随时进行调整的)。如果缓冲池的大小为 5 个线程,那么在通常情况下是能够满足 60 个客户端的需求的。
(3)它限制特定类型的服务器不得超出规定的个数,该阈值是由服务器管理员确定的。这是一种非常有用的性能调节参数,它还可以防止服务器被请求高峰的低优先级服务器滥用。

        自动化服务器可以作为客户端运行在同一台计算机上。它也可以在远程计算机上运行,从而得到分布式处理带来的强大处理能力以及共享的网络服务器带来的多用户访问特性。

        由于服务器远程应用程序不具有通常意义上的用户界面,那么提供状态监控的另一种方法是由服务器提供状态方法,并由单独的监控程序来对服务器的状态进行查询。

        需要注意的一点是,由于关于线程的函数VB5本身并没有提供,数据采集必须借助于Win95系统提供的API应用程序接口函数集,这些函数必须先定义后使用。使用中也需要注意它们的参数传递问题,由于这些函数大部分是为C++程序员设计的,其中就涉及到一些参数类型转换的技巧。可以说,API接口为VB提供了最宝贵的高级功能的基础,在很多VB自身没有解决方案的情况下,调用API接口函数往往几乎是唯一的可选方法。

四、结束语

        VB5通过自身特有的“单元模型”数据采集多线程模式为程序员们提供了创建多线程组件的功能。通过多线程技术在VB5中的应用,为企业级应用,尤其是在远程应用程序及客户机/服务器的分布式处理方面,提供了强大多任务处理能力以及共享网络服务器带来的多用户访问特性。为多任务的大型应用程序提供了一种优化的解决思路和方法。

 

 

相关信息

方便快捷的数据采集方法--excel中做数据采集

数据采集进程中的一个执行单元

数据采集在实际创建多线程的多任务对象

用多线程进行数据采集

USB在数据采集系统中的应用


  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新留言

最近发表