對單個線程使用sleep()我對java很新,并開始使用不同的線程來使用wait()或sleep()在我的代碼的一部分上運行其他代碼。對于這個項目,我使用JFrame與javax.swing.*和java.awt.*進口。我想要做的是讓其中一個線程(在我的代碼中它是主要的,起始線程)允許玩家在tic tac toe board上選擇一個空間,當他們點擊它時,它將改變圖標,并且然后AI將等待1秒鐘,然后從我創建的第二個線程回放。不幸的是,每當我調用ait.sleep(1000)(ait是我的線程名稱)時,兩個線程都會在完成執行之前等待1秒。誰能告訴我為什么睡一個線程會阻止我的整個執行?
3 回答

12345678_0001
TA貢獻1802條經驗 獲得超5個贊
Thread.sleep
是一種靜態方法。通過任何給定的引用來調用它Thread
只是一種方便的形式。
因此,任何調用sleep
都是真正調用sleep
當前的Thread
,我懷疑是你的情況下的事件線程。在事件線程上休眠/阻塞會給出被鎖定的外觀。
添加回答
舉報
0/150
提交
取消