概述
啥也不说了,我爱死信号量了~
class H2O {
private static final Semaphore h = new Semaphore(2);
private static final Semaphore o = new Semaphore(0);
private volatile boolean flag = false;
public H2O() {
}
public void hydrogen(Runnable releaseHydrogen) throws InterruptedException {
h.acquire();
if(flag == false){
flag = true;
}else{
flag = false;
o.release();
}
// releaseHydrogen.run() outputs "H". Do not change or remove this line.
releaseHydrogen.run();
}
public void oxygen(Runnable releaseOxygen) throws InterruptedException {
o.acquire();
// releaseOxygen.run() outputs "O". Do not change or remove this line.
releaseOxygen.run();
h.release(2);
}
}
最后
以上就是潇洒夕阳为你收集整理的Leetcode_1117_H2O生成_多线程的全部内容,希望文章能够帮你解决Leetcode_1117_H2O生成_多线程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复