【发布时间】:2015-06-14 00:36:50
【问题描述】:
我正在制作一个 slapjack 游戏,其中卡组需要每 5 秒将卡片交给 slapzone 并翻转图像 2 秒,然后再将图片翻回。我知道我将不得不使用一个线程,但我不知道如何说每 5 秒重复一次我知道重复部分将需要一个 for 循环。
代码:
public void run ()
{
Thread thisThread = Thread.currentThread();
while (thisThread == myThread)
{
try
{
for (int i = 0 ; i < numcards ; i++)
{
deck.giveslapZone(slap1);
}
myThread = null; // kills the thread
}
catch (InterruptedException ie)
{
System.out.println(ie.getMessage());
}
}
}
【问题讨论】:
-
无限循环和
Thread.sleep(5000) -
将
myThread设置为 null 不会“杀死线程”。它退出外循环。它们都显得毫无意义。
标签: java multithreading class timer