在SO上已经发布了similar question,但是,只有在循环不生成任何输出时,该解决方案才有效。
如果我尝试运行while(true) System.out.print(1);
然后点击 Ctrl + C ,会发生什么是终端只是冻结而且似乎无法杀死它。
除了关闭和重新打开终端之外,还能做些什么吗?
答案 0 :(得分:-2)
你不应该有这样的循环。您应该通过使用
将活动线程暂停一段时间来释放一些时间到CPUwhile (true) {
// Do your processing stuff here.
// This line ensures that the active thread releases some time
// to the CPU, allowing closure of the application via Ctrl-C.
Thread.sleep(numberOfMillisecondsToSleepFor);
}
您可以使用kill从其他终端使用现有代码终止进程,但是您应该通过正确编码循环以满足它来阻止CPU锁定方案。