gpt4 book ai didi

java - 等到线程完成

转载 作者:行者123 更新时间:2023-12-03 13:15:57 25 4
gpt4 key购买 nike

我有一个内部线程可以执行某些操作的函数

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功能内部,我从头开始使用 repaint()函数,当我尝试使用 .join()时,它阻止了 repaint()线程。
public static void updateBoard(int column, Image image) {
int i = 0;
animate(column,image);
i++;
}

最佳答案

像这样:

Thread t = new Thread(new Runnable(){...});
t.start();

t.join();

但是,这毫无意义。如果您要启动一个线程并立即阻塞等待它完成,您将不会获得任何并行性。您也可以只在当前线程中调用 Runnable::run方法...并避免创建/启动线程的开销(并非微不足道!)。

关于java - 等到线程完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61521072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com