我编写了一个在服务器上运行并监听某些端口的程序。由于大多数时候它无关紧要,所以我设置了一个线程来防止程序停止。
我的解决方案如下所示:
Thread mainThread = new Thread( new Runnable() {
@Override
public void run() {
// run program continuously
while ( true ) {
try {
// since we aren't doing anything, the thread can sleep
Thread.sleep( Long.MAX_VALUE );
}
catch ( InterruptedException e ) {
e.printStackTrace();
}
}
}
} );
mainThread.start();
我的问题是:常量Long.MAX_VALUE会不会有问题并导致错误?我想一直运行程序,所以我认为线程不需要做任何事情。到目前为止,最简单的解决方案是将其置于(非常非常深的)睡眠状态(毫秒值大致转换为 146.235.600 年)。