如何用java程序来写信号量(semaphore),我们老师的要求是要自己管理队列
遇到BT的计算机课研究生的老师,要自己写一个semaphore,教的是OS的课程。我用sychronized写classsemaphore{privateintcount...
遇到BT的计算机课研究生的老师,要自己写一个semaphore,教的是OS的课程。
我用sychronized写
class semaphore{
private int count;
class semaphore(int n){
count=n;
}
public class sychronized acquire(){
if(count=0)
try{wait()}
catch(IE.....){....}
else count--;
}
public class sychronized release(){
count++
notify();
}
}
俺们老师说这个不能算,要自己来管理queue,我晕倒,说可以用memory interlock(但是不建议),不知道各位大侠知道怎么自己写一个semaphore class且不用sychronized的方法。 展开
我用sychronized写
class semaphore{
private int count;
class semaphore(int n){
count=n;
}
public class sychronized acquire(){
if(count=0)
try{wait()}
catch(IE.....){....}
else count--;
}
public class sychronized release(){
count++
notify();
}
}
俺们老师说这个不能算,要自己来管理queue,我晕倒,说可以用memory interlock(但是不建议),不知道各位大侠知道怎么自己写一个semaphore class且不用sychronized的方法。 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询