CVI中的多线程技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Thread pools帮助用户将函数调度 到独立的线程中执 行。Thread pools处理线程 缓存来最小化与创建 和销毁线程相关的开 销。
Thread- safe queues对线程间的数据传递 进行了抽象。一个线 程可以在另一个线程 向队列写入数据的同 时,从队列中读取数 据。
Thread- safe variables高效地将临界代码段 和任意的数据类型结 合在一起。用户可以 调用简单的函数来获 取临界代码段,设定 变量值,然后释放临 界代码段。
: 文件类型技术指南
Thread- safe variables高效地将临界代码段 和任意的数据类型结 合在一起。用户可以 调用简单的函数来获 取临界代码段,设定 变量值,然后释放临 界代码段。
Thread locks提供了一致的API 并在必要时自动选择 合适的机制来简化临 界代码段和互斥量的 使用。例如,如果需 要在进程间共享互斥 锁,或者线程需要在 等待锁的时候处理消 息,LabWindows/CVI 会自动使用互斥量。 临界代码段使用在其 它场合中,因为它更 加高效。
Thread- local variables为每个线程提供变量 实例。操作系统对每 个进程可用的线程局 部变量的数量进行了 限制。 LabWindows/CVI 在实现过程中对线程 局部变量进行了加 强,程序中的所有线程局部变量只使用一 个进程变量。
线程安全队列在其内 部使用了一种锁策 略,一个线程可以从 队列读取数据而同时 另一个线程向队列中 写入数据(例如,读 取和写入线程不会互 相阻塞)。
用户可以为基于事件 的访问配置线程安全 队列。用户可以注册 一个读取回调函数, 在队列中有一定数量 的数据可用时,调用 这个函数,并且/或 者注册一个写入回调 函数,在队列中有一定的空间可用时,调 用这个函数。
用户可以对线程安全 队列进行配置,使得 在数据增加而空间已 满时,队列可以自动 生长。
CmtGetLock CmtGetTSQReadPtr CmtGetTSQWritePtr
EnterCriticalSection CreateMutex
CreateSemaphore SignalObjectAndWait WaitForSingleObject MsgWaitForMultipleObjectsEx
线程创建了窗口但没 有调用 RunUserInterface
线程创建了窗口并调 用了 RunUserInterface RunUserInterface ( )
使用 LabWindows/CVI 网页广播来学习使用 ANSI C语言以 发挥多核处理的能力
了解更多在 Windows和实 时操作系统上使用 LabWindows/CVI 进行对称式处理的知 识学习如何使用 LabWindows/CVI 来调试多核 ANSI C应用程 序
学习更多关于 LabWindows/CVI 的知识