【问题标题】:Thread, Wait, Notify, Sleep in JavaJava 中的线程、等待、通知、休眠
【发布时间】:2013-02-20 00:05:32
【问题描述】:
我正在开发/开发一个桌面应用程序,其中按钮具有动作侦听器并执行大量后台任务,我之前没有使用线程、等待、通知或睡眠。我只是很困惑该学习哪个,使用哪个,否则当我单击按钮时,JFrame 就会冻结。
1) 有人可以建议我使用什么更简单吗?
2) 我正在使用带有 setvalue(n) 方法的 jprogress bar,但我想用加载时间自动替换 n,我该怎么做?
【问题讨论】:
标签:
java
sleep
wait
notify
jprogressbar
【解决方案2】:
1)
当您单击按钮进入新线程时,您需要将运行的代码移动。这样的事情会起作用:
public class Worker implements Runnable {
Thread t;
public Worker() {
t = new Thread(this);
}
@Override
public void run() {
//do stuff here
}
public void start() {
t.start();
}
}
然后,当您单击 JFrame 中的按钮时:
Worker w = new Worker();
w.start();
2) 您可以使用任何int 调用setProgress()(例如,在开始时获取当前时间,在结束时获取当前时间,所用时间= 结束开始)。只要确保你也使用过setMaximum()。