為什麼在單一執行緒上使用sleep() 會停止執行
Java 引進了一個單獨的執行緒來處理GUI 元素,稱為事件調度線程(美東時間)。在此執行緒中呼叫 sleep() 可能會導致兩個執行緒在恢復執行之前等待完成的情況。
發生這種情況是因為 GUI 事件(包括由使用者介面元件產生的事件)在 EDT 上處理。當在此執行緒上呼叫 sleep() 時,它會有效地掛起所有待處理的 GUI 事件,導致使用者介面顯示為凍結。負責遊戲邏輯的主執行緒也會暫停,直到 sleep() 呼叫完成。
避免執行緒停止
防止凍結使用者介面,避免在 EDT 上使用 Thread.sleep()。相反,請考慮使用其他方法,例如:
最佳實踐
為了確保響應式使用者介面,必須遵守遵循以下準則:
以上是為什麼在單執行緒上使用 `sleep()` 會凍結 Java GUI?的詳細內容。更多資訊請關注PHP中文網其他相關文章!