信号量

信号量是系统中设置互斥(mutex)资源的全局信号标志。使用信号量可使一部分进程等待其他进程完成。

使用作业 > 信号量来查看正在使用的作业信号量。也可以清除信号量,当挂起或取消作业未能释放其信号量时可能需要此操作。

“信号量”面板在“作业”面板中使用。
通过下面的一对点命令可实现信号量,即:.semget 和 .semput 命令。使用 .semget 命令可“抓取”一个标签:在某个步骤获得一个标签后,尝试获取同一个标签的任何其他步骤(任何项目中)都必须等待,直到原始请求者释放此标签。
注: 包含.semget 命令的步骤将等待,直到信号量释放。如果作业失败并使其信号量处于活动状态,那么必须先手动清除信号量才能再次运行使用信号量的任何作业。

例如,假设有一个创建打印机驱动程序的程序,您希望该程序在任何时刻都只能由一个进程使用。在调用该程序的每一个项目内,设置带有以下命令行的三个步骤:

步骤

命令行

获取信号量

.semget $BF_PROJECTNAME_PHYS

运行驱动程序创建器

printdrivermaker.exe windows

释放信号量

.semput $BF_PROJECTNAME_PHYS

可为组织中的关键资源建立信号量,例如负载较重的服务器或者只有单用户许可证的软件程序。使用您要保护的资源的每一个步骤应包含在 .semget 和 .semput 命令之间。

信号量遵循以下规则:


反馈