我是一个Java项目,它主要创建一个扩展Thread的类(ThreadClient)实例。我需要ThreadClient.run启动2个定时器来定期运行ThreadClient类的2个方法。
我在互联网上找到的例子表明,计时器可以启动一个离开Thread类的classe实例的run方法。 我不需要创建一个新类,只需要运行创建定时器的同一个类的2个方法。 像C#这样的东西:
public class ThreadClient
{
private Timer _timer;
public ThreadClient() {
Start();
}
private void Start()
{
_timer = new Timer(3000); // Set up the timer for 3 seconds
_timer.Elapsed += new ElapsedEventHandler(_timer_Elapsed);
_timer.Enabled = true; // Enable it
}
private void _timer_Elapsed(object sender, ElapsedEventArgs e)
{
// do something
}
}
方法_timer_Elapsed属于创建计时器的类。
提前致谢, 塞缪尔
答案 0 :(得分:0)
这就是我最终达到目标的方式:
// Timer to process sales
TimerTask ttProcessSales = new TimerTask() {
@Override
public void run() {
processSales();
}
};
Timer tProcessSales = new Timer();
tProcessSales.schedule(ttProcessSales, 0, this._processTaskTimeInterval);
// Timer to process tasks
TimerTask ttProcessTask = new TimerTask() {
@Override
public void run() {
processTasks();
}
};
Timer tProcessTasks = new Timer();
tProcessTasks.schedule(ttProcessTask, 0, this._processTaskTimeInterval);
通过这种方式,我可以使用计时器运行该类的2个方法,而无需为每个需要执行的方法创建新类。