下面的代码是FIFO排序的一个例子吗?
问题在于实现FIFO队列。
简而言之:随机数量的汽车(向北或向南)沿着双车道行驶。 他们必须穿过一条单向的桥梁。
桥接访问取决于到达时间。先到先得。
我可以通过这个声明说出来吗
semaphore = new Semaphore(capacita,true);
汽车是否按照到货顺序过桥?
在这里,我无法弄清楚它是如何工作的,以及它如何与之前的陈述相关
lock = new ReentrantLock(true);
有人可以帮助我吗?
谢谢
public Ponte(int capacita){
nNordTraversing = 0;
nSudTraversing = 0;
nNordWaiting = 0;
nSudWaiting = 0;
semaphore = new Semaphore(capacita,true);
lock = new ReentrantLock(true);
waitingCond = lock.newCondition();
bridgeCond = lock.newCondition();
}
答案 0 :(得分:1)
你的代码很奇怪,我不理解这部分。 您可以在互联网上轻松找到正确的算法,以便使用信号量解决问题。
例如:http://cboard.cprogramming.com/c-programming/119766-semaphore-algorithm.html 这个问题看起来像你的! 祝你好运!