gpt4 book ai didi

java - 识别列表中创建的计时器

转载 作者:行者123 更新时间:2023-12-01 17:04:57 24 4
gpt4 key购买 nike

如果我通过以下方式创建计时器列表:

timers = new ArrayList<Timer>();

for(int i = 0; i<10;i++)
{
Timer timer = new Timer();
timer.schedule(new TimerTask() {

@Override
public void run() {

//Task of timer here


}
}, 0, 1000);

timers.add(timer);
}

如何在 run() 方法中识别列表项是什么?

如果我这样做不起作用,因为我将设置最后一个计时器的所有 id:

timers = new ArrayList<Timer>();

for(int i = 0; i<10;i++)
{
final int timerId = i;
Timer timer = new Timer();
timer.schedule(new TimerTask() {

@Override
public void run() {

//Task of timer here
int id = timerId;


}
}, 0, 1000);

timers.add(timer);
}

最佳答案

可以使用不同的数据结构。 IE:Hashmap,将键(在您的情况下为 ID)链接到 Timer 对象。

Timer 对象还可以在构造函数中接收 String

来自javadoc:

Creates a new timer whose associated thread has the specified name.

然后,您将在可运行的线程上执行 getName() 方法:

Thread.currentThread().getName();

关于java - 识别列表中创建的计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26124021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com