所以,我设置了我的计时器:
timer.scheduleAtFixedRate(new TimerTask()
{
@Override
public void run()
{
...
}
}, 5, 5);
所以我想触发这个run()
来测试一些东西,而不是等到它被触发。有办法吗?
答案 0 :(得分:1)
之前创建Runnable
对象(不使用匿名类)并使用它创建新的Thread
,然后启动它。
像这样的东西
Runnable runnable = new Runnable() {
@Override
public void run() {
/*impl*/
}
};
new Thread(runnable).start();
答案 1 :(得分:1)
// single thread pool - you can use any other scheduled thread pool
ScheduledExecutorService ses = Executors.newSingleThreadScheduledExecutor();
ses.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
/*impl*/
}
}, 5, 5, TimeUnit.MILLISECONDS);
答案 2 :(得分:1)
为什么使用执行程序或线程? 还不够*运行方法? :)
// define task
TimerTask = tt new TimerTask()
{
@Override
public void run()
{
...
}
};
// schedule
timer.scheduleAtFixedRate(tt,int,int);
// run as any other method :)
tt.run();
*什么时候没有运行?当我们不能或不想阻止当前线程时!