token.java
来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 49 行
JAVA
49 行
/*
* $Id: Token.java,v 1.1 2003/11/25 11:41:47 epr Exp $
*/
package org.jnode.util;
/**
* @author epr
*/
public class Token {
private boolean locked;
/**
* Create a new instance
*/
public Token() {
this.locked = false;
}
/**
* Claim ownership of this token
* @param owner
* @param timeout
* @throws InterruptedException
* @throws TimeoutException
*/
public synchronized void claim(Object owner, long timeout)
throws InterruptedException, TimeoutException {
final long start = System.currentTimeMillis();
while (locked) {
wait(timeout);
if (locked) {
if (System.currentTimeMillis() > start + timeout) {
throw new TimeoutException();
}
}
}
this.locked = true;
}
/**
* Release ownership of this token
*/
public synchronized void release() {
this.locked = false;
notifyAll();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?