package net.csdn.blog.jhqin.util; public class ManualResetEvent { private final Object monitor = new Object(); private volatile boolean open = false; public ManualResetEvent(boolean initialState) { open = initialState; } public boolean WaitOne() throws InterruptedException { synchronized (monitor) { if (!open) monitor.wait(); return open; } } public boolean WaitOne (long timeout) throws InterruptedException { synchronized (monitor) { if (!open) monitor.wait(timeout); return open; } } public void Set() { synchronized (monitor) { open = true; monitor.notifyAll(); } } public void Reset() { open = false; } }
Java:ManualResetEvent
最新推荐文章于 2021-03-04 09:00:15 发布