-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
請編輯你的問題。所有左對齊的代碼都很難閱讀。 –
好的,我已經編輯了你的代碼,但是在將來,爲了使你的問題和代碼容易理解而付出的努力應該落在你身上。請記住這一點。 –