gpt4 book ai didi

java - Util 或 Swing 中的任何一种 Java 计时器正在使我的整个系统挂起、卡住,如何保护系统崩溃?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:12:45 25 4
gpt4 key购买 nike

当我使用 util 或 swing Timer 时系统挂起/卡住。我怎样才能乘坐这个?

其他用户界面我如下调用此任务,重试后,整个系统卡住。

TimerTask t  = new Task("Local",a); 
java.util.Timer timer = new java.util.Timer();
timer.scheduleAtFixedRate(t, 0, 10000);

尝试 3:失败

import java.util.Timer;
import java.util.TimerTask;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;

public final class Task extends TimerTask {

private static Timer timer;
//private static ui.V v;

private static int input;
private static String sinput;

public static void main (String... arguments ) {
TimerTask f = new Task("Local:",20);
timer = new Timer();
timer.scheduleAtFixedRate(f, 0, 10000);
}

public Task(String sinput, int input) {
this.input = input;
this.sinput = sinput;
}

public void run() {
System.out.println("Will freeze, dont freeze.....");
//v = new ui.V(sinput); loading a user interface
//v.up(input); show the value
try {
Thread.sleep(4000); // wait 4 seconds
} catch (InterruptedException ex) {
Logger.getLogger(Task.class.getName()).log(Level.SEVERE, null, ex);
}
//v.killme(); // kill the display
timer.cancel();
}

}

我也尝试了以下方法,但所有相同的结果系统都被卡住,我必须手动关闭和打开 PC。

尝试 0:失败

t = new java.util.Timer();
t.schedule(new TimerTask() {
@Override
public void run() {
// same
}
}, 0, 10000);

尝试 1:失败

t = new javax.swing.Timer(10000, new ActionListener() {
public void actionPerformed(ActionEvent ae) {
// same
}
});
t.start();

尝试 2:失败

new Thread(new Runnable() {
public void run() {
t = new javax.swing.Timer(10000, new ActionListener() {
public void actionPerformed(ActionEvent ae) {
// same
}
});
t.start();
}
}).start();

最佳答案

奇怪,但自从我开始按如下方式运行它:(它仍然没有显示为卡住)

button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {

EventQueue.invokeLater(new Runnable() {

@Override
public void run() {
....here... timer seems ... less... risky....
}
});

}
});

引用:

https://stackoverflow.com/a/5500371/285594

关于java - Util 或 Swing 中的任何一种 Java 计时器正在使我的整个系统挂起、卡住,如何保护系统崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11648661/

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