⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sleepyboundedbuffer.java

📁 java concurrency in practice 源码. JAVA并发设计
💻 JAVA
字号:
package net.jcip.examples;import net.jcip.annotations.*;/** * SleepyBoundedBuffer * <p/> * Bounded buffer using crude blocking * * @author Brian Goetz and Tim Peierls */@ThreadSafe        public class SleepyBoundedBuffer <V> extends BaseBoundedBuffer<V> {    int SLEEP_GRANULARITY = 60;    public SleepyBoundedBuffer() {        this(100);    }    public SleepyBoundedBuffer(int size) {        super(size);    }    public void put(V v) throws InterruptedException {        while (true) {            synchronized (this) {                if (!isFull()) {                    doPut(v);                    return;                }            }            Thread.sleep(SLEEP_GRANULARITY);        }    }    public V take() throws InterruptedException {        while (true) {            synchronized (this) {                if (!isEmpty())                    return doTake();            }            Thread.sleep(SLEEP_GRANULARITY);        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -