对单个线程使用sleep()

对单个线程使用sleep()

我对java很新,并开始使用不同的线程来使用wait()sleep()在我的代码的一部分上运行其他代码。

对于这个项目,我使用JFramejavax.swing.*java.awt.*进口。我想要做的是让其中一个线程(在我的代码中它是主要的,起始线程)允许玩家在tic tac toe board上选择一个空间,当他们点击它时,它将改变图标,并且然后AI将等待1秒钟,然后从我创建的第二个线程回放。

不幸的是,每当我调用ait.sleep(1000)ait是我的线程名称)时,两个线程都会在完成执行之前等待1秒。谁能告诉我为什么睡一个线程会阻止我的整个执行?


一只名叫tom的猫
浏览 1051回答 3
3回答

12345678_0001

Thread.sleep是一种静态方法。通过任何给定的引用来调用它Thread只是一种方便的形式。因此,任何调用sleep都是真正调用sleep当前的Thread,我怀疑是你的情况下的事件线程。在事件线程上休眠/阻塞会给出被锁定的外观。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java