schedulertask.java

来自「Solaris平台上邮件的定时发送」· Java 代码 · 共 46 行

JAVA
46
字号
package com.j2ee.schedule;

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 + -
显示快捷键?