我可以将一个Sempahore分配给其他信号量吗,例如,它们的行为相同(此vxworks代码)
mySemId = semCreate(...)
tempSemId = mySemId;
semTake(tempSemId,...);
...
semGive(mySemId).
上面的代码片段将用于锁定资源。
其次,如果这项工作可行,则存在不允许这种处理的编码标准或惯例。
vxWorks信号灯ID是可复制的,并且副本与原始副本“一样好”,因此此处显示的代码示例是正确的。不过,这似乎不是一个特别好的主意。从这个代码片段很难看出整个代码是什么样子,在更大的代码块中,我认为很难判断正在使用哪些信号量以及正在给出哪些信号量。
(这不是C语言的问题:vxWorks信号量主要可从C使用,但未由该语言定义。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句