我是靠谱客的博主 潇洒夕阳,最近开发中收集的这篇文章主要介绍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生成_多线程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部