package ALBasicServer.ALServerSynTask;
import java.util.LinkedList;
import ALBasicCommon._AALBasicThread;
import ALBasicServer.ALTask._IALSynTask;
public class ALSynTimingTaskCheckThread extends _AALBasicThread
{
/** 线程是否退出 */
private boolean _m_bThreadExit;
private int _m_iCheckTime;
public ALSynTimingTaskCheckThread()
{
_m_bThreadExit = false;
_m_iCheckTime = ALSynTaskManager.getInstance().getTaskCheckTime();
}
public void exitThread()
{
_m_bThreadExit = true;
}
/******************
* 线程执行函数
*
* @author alzq.z
* @time Feb 20, 2013 11:05:35 PM
*/
@Override
protected void _run()
{
//用于存放需要处理的任务的队列
LinkedList<_IALSynTask> popTaskList = new LinkedList<_IALSynTask>();
while(!_m_bThreadExit)
{
//获取需要处理的所有任务队列的队列
ALSynTaskManager.getInstance()._popTimerTask(popTaskList);
//逐个任务的插入到当前任务队列中
ALSynTaskManager.getInstance()._registerTaskList(popTaskList);
//休眠指定精度时间
try {
sleep(_m_iCheckTime);
} catch (InterruptedException e) {}
}
}
}