我是否可以为其他信号量分配一个sempahore,两者的行为都是相同的,例如.(这个vxworks代码)
mySemId = semCreate(...)
tempSemId = mySemId;
semTake(tempSemId,...);
...
semGive(mySemId).上面的代码片段会在锁定资源时工作吗?
第二,如果这样做有效的话,是否有一种编码标准或做法不允许这种处理。
发布于 2016-08-08 05:52:09
vxWorks信号量ID是可复制的,并且副本与原始ID“一样好”,所以这里显示的代码示例没有错。不过,这似乎不是一个特别好的主意。从这段代码片段中很难看出整个代码是什么样子,在更大的代码块中,我认为很难分辨哪个信号量正在被获取,哪些信号是给定的。
(这不是一个C语言问题: vxWorks信号量主要可用于C,但不是由该语言定义的。)
https://stackoverflow.com/questions/38821796
复制相似问题