Java 创建2个计时器

Java 创建2个计时器,java,timertask,Java,Timertask,我有MyTimer,它需要设置以下参数: public MyTimer(long mac, String ipAddress){ this.macAddress = mac; this.ip = ipAddress; timer = new Timer(); TimerTask timerTask = new TimerTask() { @Override public void run() { log

我有MyTimer,它需要设置以下参数:

public MyTimer(long mac, String ipAddress){
    this.macAddress = mac;
    this.ip = ipAddress;

    timer = new Timer();

    TimerTask timerTask = new TimerTask() {

        @Override
        public void run() {
            log.info("mac " + String.valueOf(macAddress) + " ip " + ip);

        }
    };

    timer.schedule(timerTask, 30*1000,30*1000);
    log.info("timer created, mac:" String.valueOf(macAddress) + " ip " + ip);
}
来自另一个班级:

MyTimer timer1 = new MyTimer(mac1, ip1);
MyTimer timer2 = new MyTimer(mac2, ip2);
创建后,一切正常:

Oct 23, 2012 1:36:43 PM spb.MyTimer <init>
INFO: timer created, mac: 26954208388119 ip 77.209.184.53
Oct 23, 2012 1:36:43 PM spb.MyTimer <init>
INFO: timer created, mac 26954208388118 ip 178.139.7.27

这个问题应该如何解决呢?

你的
MyTimer
应该扩展
TimerTask
,这样它就可以存储状态,我指的是IP地址和Mac地址,然后运行
MyTimer
而不是分开
TimerTask
我想我知道你的问题是什么。请发布在另一个类中设置变量ip1和ip2的代码。它是一个名为client:client.getInetAddress().getHostAddress()的SSLSocket。我没有得到这样的输出。我得到了应该得到的东西。您的代码正在我的系统中工作:/Quoi,你能把完整的代码贴出来吗?我检查一下有没有错误?
Oct 23, 2012 1:39:13 PM spb.MyTimer$1 run
INFO: mac 26954208388119 ip 178.139.7.27
Oct 23, 2012 1:39:13 PM spb.MyTimer$1 run
INFO: mac 26954208388118 ip 178.139.7.27