gpt4 book ai didi

java - java无限线程

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

我需要一个线程来检查 JAVA 桌面应用程序上的网络连接可用性。我有一个这样的线程

    class DataSyncThread extends Thread {
DataSyncThread() {
}

public void run() {
while(true){
try{
System.out.println("Checking for network");
InetAddress addr = InetAddress.getByName(host);
if(addr.isReachable(MIN_PRIORITY)){
syncData();
}
this.sleep(1000000);
}catch(Exception e){}
}
}
}

现在,当我在构造函数中调用它时,应用程序永远不会加载。当我查看控制台(我触发从其中加载 jar )线程工作时,它会在控制台中打印“检查网络”。

感谢帮助

最佳答案

我的猜测是你正在做类似的事情:

DataSyncThread thread = new DataSyncThread();
thread.run();

这将同步运行 run() 方法。您应该调用 start() 来创建一个单独的执行线程:

DataSyncThread thread = new DataSyncThread();
thread.start();

我还建议实现Runnable,而不是扩展Thread - 或者很可能使用Timer,因为您希望定期执行。我希望你的真实代码也记录在你的 catch block 中......

关于java - java无限线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8292007/

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