线程——挂起(suspend)和继续执行(resume)线程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Nliki/article/details/80240415

挂起(suspend)和继续执行(resume)线程      (不推荐使用)


suspend不会释放锁,如果加锁放生在resume()之前,则会发生死锁.


package com.nliki.www;

public class BadSuspend {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws InterruptedException{
		t1.start();
		Thread.sleep(100);
		t2.start();
		t1.resume();
		t2.resume();
		t1.join();
		t2.join();
	}
	
	public static Object ob=new Object();
	static ObjectThread t1=new ObjectThread("t1");
	static ObjectThread t2=new ObjectThread("t2");
	
	public static class ObjectThread extends Thread{
		public ObjectThread(String name){
			super.setName(name);
		}
		@Override
		public void run(){
			synchronized(ob){
				System.out.println("in "+getName());
				Thread.currentThread().suspend();
			}
		}
	}

}
输入结果:


我们去后台看下:




猜你喜欢

转载自blog.csdn.net/Nliki/article/details/80240415