将一个信号量分配给其他信号量

时间:2016-08-08 05:22:11

标签: c semaphore vxworks

我可以将一个sempahore分配给其他信号量,两者的行为都相同,例如。(此vxworks代码)

   mySemId = semCreate(...)
       tempSemId = mySemId;
    semTake(tempSemId,...);
   ...
   semGive(mySemId).

以上代码段将锁定资源。

其次,如果这是有效的,则存在不允许这种处理的编码标准或实践。

1 个答案:

答案 0 :(得分:2)

vxWorks信号量ID是可复制的,副本是"同样好的"作为原始,所以这里显示的代码示例没有错。不过,这似乎并不是一个特别好的主意。很难从这段代码中看出整个代码是什么样的,并且在更大的代码块中,我认为很难分辨出哪些信号量正在被采用以及哪些信号被给定。

(这不是C语言问题:vxWorks信号量主要来自 C ,但不是语言定义。)