各位达人想必已经看出这个小程序的目的了,就是一个高优先级的进程先给出6个信号量,然后低优先级的进程在得到信号量后就打印。
可是为什么结果却是:
give sem
give sem
give sem
give sem
give sem
give sem
sem take 1
sem take 2
-----------------
也就是说,任务semTake只得到了两个信号量了?为什么不是1个或者6个了???
而且实际上不管任务semGive给了多少信号量,也就说不管这个变量count设为任何大于等于3的数,任务semTake都只打印两次!
这是怎么回事了??