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

📄 testevent.java

📁 一个简单的Java并发系统动态测试工具
💻 JAVA
字号:
/**********************************************************************

contest ver 1.0 
一个简单的并发系统动态测试工具
Copyright (C) 2003, 2004 王咏刚
	
作者对 contest 软件及其所有源代码授权如下:

允许任何个人、学术机构、公司无偿获得、修改、使用、重新发布 contest 软
件及其源代码,并可以按照有偿或者无偿的方式发行基于 contest 源代码的全
部或部分内容开发的软件产品,——但行使以上权利时,须遵守以下约定:

1、重新发布 contest 软件及其源代码时,不得隐去软件以及源代码中原有
   的版权信息和开发者标识。

2、发行基于 contest 源代码的全部或部分内容开发的软件产品时,必须在
   产品的显著位置标明以下字样:

   “本产品的一部分功能是基于王咏刚在 contest 软件中的工作完成的”

3、在正式出版物中引用 contest 的文档、源代码或注释内容的,应注明软
   件的原作者。

		王咏刚
		2004. 1

**********************************************************************/

package contest;

// 对并发系统测试时使用的同步事件类
public class TestEvent
{
	// 事件名称
	private String name; 
	// 为事件加锁时使用的对象
	private Object lock = new Object(); 
	
	public TestEvent(String name)
	{
		this.name = name;
	}

	public String getName()
	{
		return name;
	}

	// 暂停当前线程的执行,等待此事件
	public void waitFor()
	{
		waitFor(0);
	}

	// 暂停当前线程的执行,等待此事件timeout毫秒
	public void waitFor(long timeout)
	{
		synchronized(lock)
		{
			try{ lock.wait(timeout); }
			catch (InterruptedException e) {}
		}
	}

	// 激活此事件,让所有等待此事件的线程继续执行
	public void setEvent()
	{
		synchronized(lock)
		{
			try{ lock.notifyAll(); }
			catch (IllegalMonitorStateException e) {}
		}
	}
}

⌨️ 快捷键说明

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