LabWindows/CVI 和线程池



主要软件:
主要软件版本: 8.0
主要软件修正版本: N/A
次要软件: N/A

问题: 我正在使用LabWindows/CVI 来创建一个多线程的应用程序,我在帮助文件中多处看到了“线程池”的概念。什么是线程池它又是用来干什么的呢?

解答:

线程池是LabWindows/CVI 用来创建并且放置线程的一个装置,CVI通过这种方式可以简单并且安全地管理线程。通过线程池,可以使用特殊的任务的方式来组织线程。比如说,一个线程池承载3个线程来处理用户界面,而另一个线程池承载4个线程来处理数据采集。

LabWindows/CVI 的应用程序有一个默认的线程池,可以使用CmtNewThreadPool函数来创建新的线程池。通过函数CmtScheduleThreadPoolFunction、CmtScheduleThreadPoolFunctionAdv或者CmtPreAllocThreadPoolThreads来创建新的线程。

CVI默认的线程池最多可以承载(2+2×处理器核心数)个线程。所以如果您只有一个单核心的处理器,默认的线程池最多只可以承载4个线程。如果您的处理器是双核的,默认的线程池最多可以承载6个线程。对于用户创建的线程池,并不受到处理器核心个数的限制。

可以参考以下链接以获得更多信息。



相关链接: Developer Zone Tutorial: Multithreading in LabWindows/CVI
KnowledgeBase 1V0DMG8M: General Information on Multithreading for C Programmers

附件:


MultithreadingOverview.pdf - MultithreadingOverview.pdf



报告日期: 05/13/2003
最近更新: 01/02/2008
文档编号: 2XCB73TL