-1
在Java中启动,暂停,恢复和停止线程的最佳方式是什么? 我写了一段代码来测试,它的工作原理是我想要的,但我不确定这是否是最好的方法。 如果有很多线程正在进行这样的工作,是不是会浪费大量的资源,而他们正在检查运行并且一直停下来?管理线程的最佳方法?
public class ThreadTest {
public static void main(String[] args) {
try {
Counter t = new Counter();
t.start();
Thread.sleep(4000);
t.pause();
Thread.sleep(5000);
t.pause();
Thread.sleep(4000);
t.finish();
} catch (Exception e) {
e.printStackTrace();
}
}
}
class Counter extends Thread {
int c;
boolean run, pause;
public Counter() {
c = 0;
}
public void run() {
run = true;
while (run == true) {
if (!pause) {
c++;
System.out.println(c);
try {
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
}
}
System.out.println("Stop!");
}
public void finish() {
run = false;
}
public void pause() {
pause = !pause;
}
}
你应该缩进代码,更容易阅读 – Coffee
请编辑你的问题。所有左对齐的代码都很难阅读。 –
好的,我已经编辑了你的代码,但是在将来,为了使你的问题和代码容易理解而付出的努力应该落在你身上。请记住这一点。 –