【发布时间】:2020-04-30 10:17:08
【问题描述】:
我有一个内部线程做某事的函数
public static void animate(int column,Image image)
{
new Thread(new Runnable() {
public void run() {
try {
/* Code */
repaint();
Thread.sleep(500);
repaint();
} catch (InterruptedException ex) {
}
}
}).start();
}
我在 updateBoard 函数中调用的动画函数,然后执行 i++。 我想让函数动画在线程结束之前不会继续到 I++
在animate 函数内部,我使用了swing 中的repaint() 函数,当我尝试使用.join() 它的块repaint() 线程时。
public static void updateBoard(int column, Image image) {
int i = 0;
animate(column,image);
i++;
}
【问题讨论】:
-
如果你想要它同步为什么你使用线程?
-
你能自己弄清楚这句话是什么意思吗:“我使用线程,我想让那个线程在他完成线程之前不能继续下一行。”已经有一个正在运行的线程 T1(它可能是主线程,也可能是其他线程)。然后有一个新线程T2 ...编辑问题以明确。问题对未来的读者来说是很好的参考,所以花点时间让你的问题更容易理解。它现在与您相关,将来对其他人有所帮助。 Stackoverflow 不是个人导师,而是社区为社区服务的。
-
@user207421 因为我想在两行之间做延迟
标签: java multithreading swing