CPU的时间片十分的珍贵,挂起无用的暂时不用的线程,可以节约系统的资源。
被废弃的suspend
关于挂起的方式我们首先讲一下被废弃的方法,suspend
和 resume
,他们被废弃的原因在于,suspend
使用不当会造成死锁,下面通过一个例子来证明一下。
/**
* 证明 suspend 方法可能造成死锁
*/
public class SuspendDemo implements Runnable {
private Object o = new Object();
@Override
public void run() {
String threadName = Thread.currentThread().getName();
synchronized (o) {
System.out.println(threadName + ">" + "挂起线程");
Thread.currentThread().suspend();