當我使用Thread.sleep();
時,它暫停了我的整個程序。有沒有什麼能夠在不使用多線程的情況下暫停一個類?Java:如何暫停運行一個類?
0
A
回答
0
不可以。你有主線程。睡眠會暫停它。如果你想在不影響主線程的情況下運行某些東西,你需要將它從主線程中分離出來,通過使用addiotnal線程
2
你不能暫停一個「class」本身。一個類只是一個「死」的容器。
你可以做什麼是暫停一個線程或任務。
通常,您會創建一個單獨的線程來運行您想暫停的任務,並在您喜歡時暫停它 - 因爲它運行在單獨的線程中,它不會掛起整個程序。
見這個簡單的例子,你可以運行,以便更好地理解如何線程可以並行運行:
public static void main(String[] args) throws InterruptedException {
Runnable lazyTask = new Runnable() {
@Override
public void run() {
System.out.println("Lazy: I feel like sleeping for a second");
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {}
System.out.println("Lazy: I feel better now");
}
};
new Thread(lazyTask).start();
//Let's wait a bit until the lazy task goes to sleep
Thread.sleep(100);
//now you can do something that will not hang
System.out.println("Main: I'm sleeping too, but only half a second");
Thread.sleep(500);
System.out.println("Main: And I can continue my job while that lazy task is still asleep");
}
4
你不暫停課程,您暫停線程。在暫停您的唯一線程的那一刻,您也會暫停整個應用程序。因此,無法暫停您的唯一線程,並期望應用程序將繼續運行。如果您希望您的應用程序不僅僅是等待,您將需要多個線程。
3
我想你在這裏混淆了一些概念。類和對象不運行。線程運行,它們運行的是由類和對象定義的指令(代碼)。
所以不,不能暫停一個Class或Object,只能是一個Thread。此外,如果你的應用程序是單線程的,那麼你只有一個「主」線程,如果你暫停該線程,那麼你的整個應用程序將暫停。
相關問題
- 1. 如何從java servlet控制一個類(運行/暫停)
- 2. Java暫停執行
- 3. 如何暫停JFrame而另一個正在運行
- 4. 如何鎖定/暫停在另一個類中運行的線程?
- 5. 如何暫停Java Swing Timer?
- 6. 在SKSpriteNode中暫停一個動作,同時運行另一個
- 7. 如何在另一個CountDown Timer正在運行時暫停一個CountDown Timer?
- 8. 如何暫停一個pygame函數而不暫停其他人?
- 9. Java暫停程序執行
- 10. 如何暫停Oracle Job的下一次運行?
- 11. 類星體暫停執行
- 12. 如何暫停與執行
- 13. 如何暫停PerformSelector執行?
- 14. 運行v功能時,如何暫停對每個情節
- 15. 如何暫停css動畫,然後從暫停點繼續運行?
- 16. 如何暫停正在運行的動畫並使用jquery中的一個按鈕運行另一個動畫
- 17. 如何暫停一個線程(python)
- 18. 如何暫停一個線程?
- 19. 你如何暫停一個線程?
- 20. 如何在java中暫停一個線程?
- 21. 如何停止或暫停php執行?
- 22. 可運行的jar在另一個窗口中暫停
- 23. 暫停場景並運行另一個場景
- 24. Eclipse暫停一個特定的線程,讓其他人運行
- 25. 你如何讓一個線程運行它的內容,暫停和重複?
- 26. 如何停止另一個正在運行的進程java android
- 27. 如何在短暫暫停後執行某個操作?
- 28. 如何按暫停按鈕時暫停程序執行
- 29. 如何在java中進行系統暫停進行調試?
- 30. 如何從另一個類運行Java類?
對象不定義代碼;只有班。一個對象是一個類的實例,只有內存分配給定義的對象變量;代碼爲同一類的所有實例共享。 ...用於在運行時生成或加載代碼的類的小例外,在這種情況下,該類的對象可能暫時在內存(堆)中具有字節碼,但在JVM加載之前它不可執行。 – 2012-07-27 21:49:39