schedulertask.java

来自「这是我自己参考资料写了一个java定时器」· Java 代码 · 共 46 行

JAVA
46
字号
package org.tiling.scheduling;

import java.util.TimerTask;

public abstract class SchedulerTask implements Runnable
{

	final Object lock = new Object();

	int state = VIRGIN;
	static final int VIRGIN = 0;
	static final int SCHEDULED = 1;
	static final int CANCELLED = 2;

	TimerTask timerTask;

	protected SchedulerTask()
	{
	}

	public abstract void run();

	public boolean cancel()
	{
		synchronized (lock)
		{
			if (timerTask != null)
			{
				timerTask.cancel();
			}
			boolean result = (state == SCHEDULED);
			state = CANCELLED;
			return result;
		}
	}

	public long scheduledExecutionTime()
	{
		synchronized (lock)
		{
			return timerTask == null ? 0 : timerTask.scheduledExecutionTime();
		}
	}

}

⌨️ 快捷键说明

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