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
最新推荐文章于 2025-03-06 16:16:05 发布
本文介绍了一个简单的手动重置事件(ManualResetEvent)的Java实现。该类通过使用监视器对象来控制线程的等待与唤醒,实现了线程间的同步。提供了设置(Set)、重置(Reset)及等待(WaitOne)等核心方法。
3828

被折叠的 条评论
为什么被折叠?



