什么是信号量(Semaphore)?



主要软件: LabVIEW Development Systems
主要软件版本: N/A
主要软件修正版本: N/A
次要软件: N/A

问题:
什么是信号量(Semaphore)?在LabVIEW中它有什么用?

解答:
信号量可以用来保护两个或多个关键代码段,这些关键代码段不能并发调用。在进入一个关键代码段之前,线程必须获取一个信号量。如果关键代码段中没有任何线程,那么线程会立即进入该框图中的那个部分。一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。为了完成这个过程,需要创建一个信号量,然后将Acquire Semaphore VI以及Release Semaphore VI分别放置在每个关键代码段的首末端。确认这些信号量VI引用的是初始创建的信号量。

在LabVIEW自带的例子中寻找例子程序。打开LabVIEW » Help » Find Examples » 在Search栏中搜索Semaphore。

相关链接:
KnowledgeBase DIRECT-3S8RDE: What Is a Queue?
KnowledgeBase DIRECT-3S8REX: What Is a Rendezvous?
KnowledgeBase DIRECT-3S8RCH: What Is a Notifier?
Developer Zone Example: Using Semaphores to Synchronize Input Operations

附件:





报告日期: 08/10/2006
最近更新: 12/13/2007
文档编号: DIRECT-3S8RDV