本文主要是介绍Java线程的暂停(suspend)和恢复(resume),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package org.example.thread;
public class SuspendAndResumeThread extends Thread {
private long count = 0;
public long getCount() {
return count;
}
public void setCount(long count) {
this.count = count;
}
@Override
public void run() {
while (true) {
count++;
}
}
}
package org.example.thread;
public class SuspendAndResumeThreadDemo {
public static void main(String[] args) {
try {
SuspendAndResumeThread thread = new SuspendAndResumeThread();
thread.start();
Thread.sleep(5000);
// work1
thread.suspend();
System.out.println("暂停");
System.out.println("work1= " + System.currentTimeMillis() + " count=" + thread.getCount());
Thread.sleep(5000);
System.out.println("work1= " + System.currentTimeMillis() + " count=" + thread.getCount());
thread.resume();
System.out.println("恢复");
Thread.sleep(5000);
// work2
thread.suspend();
System.out.println("暂停");
System.out.println("work2= " + System.currentTimeMillis() + " count=" + thread.getCount());
Thread.sleep(5000);
System.out.println("work2= " + System.currentTimeMillis() + " count=" + thread.getCount());
thread.resume();
System.out.println("恢复");
Thread.sleep(5000);
// work3
thread.suspend();
System.out.println("暂停");
System.out.println("work3= " + System.currentTimeMillis() + " count=" + thread.getCount());
Thread.sleep(5000);
System.out.println("work3= " + System.currentTimeMillis() + " count=" + thread.getCount());
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
这篇关于Java线程的暂停(suspend)和恢复(resume)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!