我是靠谱客的博主 潇洒夕阳,这篇文章主要介绍Leetcode_1117_H2O生成_多线程,现在分享给大家,希望可以做个参考。

啥也不说了,我爱死信号量了~

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生成_多线程内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(114)

评论列表共有 0 条评论

立即
投稿
返回
顶部