問這個問題不知道大家會不會覺得提問者是個傻子(還請各位大佬輕噴 = =)...但是這個問題確實是困擾著我!問題的起因是這樣的,先看下面這段代碼
public static void main(String[] args) {
System.out.println(1);
}
運行這段代碼的時候,程序開始運行--->控制臺輸出1--->程序結束,這段代碼在運行完成之后就自動停止了,也就是說我可以理解為程序有開始、有結束。那么如何讓程序不自動結束呢?(Java)我了解到的方法有 while true 死循環,或者 wait()
public static void main(String[] args) {
System.out.println(1);
while (true) {}
}
public static void main(String[] args) {
Object object = new Object();
System.out.println(1);
synchronized (object) {
try {
object.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
這兩種方法都不會主動停止,但是感覺是不是有點太丑了?比如tomcat或者nginx等web容器不太可能寫這種比較“無腦”的代碼,不可能監聽端口的時候是一遍一遍的“無腦”循環監聽吧?,所以我就很疑惑,它們是怎么一直在后臺運行的?當然,他們的具體實現肯定很復雜,我并不是想知道他們的具體實現(因為太菜估計也實現不了(ーー゛)),而是想了解一下這種想法,在這里請教一下各位大佬,這是怎么個思想或者我要從哪個方面去入手才可能了解這個問題?
添加回答
舉報
0/150
提交
取消