Java中打断睡眠阻塞案例

Java中打断睡眠阻塞案例

public class Demo {
    
    
	public static void main(String[] args) {
    
    
		Thread g=new Thread(){
    
    
			public void run(){
    
    
				try {
    
    
					System.out.println("洗洗上床睡觉了");
					Thread.sleep(10000000);
				} catch (InterruptedException e) {
    
    
					System.out.println("诶呀。。。我的头好疼");
				}
				
			}
		};
		Thread x=new Thread(){
    
    
			public void run(){
    
    
				for(int i=0;i<5;i++){
    
    
					try {
    
    
						Thread.sleep(1000);
					} catch (InterruptedException e) {
    
    
					}
					System.out.println("开着车,唱着五环之歌 。。啊 啊 五~环。。你比四环多一环~~");
				}
				System.out.println("咣当,撞到师傅了");
				g.interrupt();
			}
		};
		g.start();
		x.start();
	}
}

在这里插入图片描述
上述代码中线程g中加入了睡眠阻塞,但是当线程x结束后执行了g.interrupt()这个方法用来打断睡眠阻塞。于是本应该阻塞的线程g在线程x结束后便继续执行。

猜你喜欢

转载自blog.csdn.net/weixin_45772185/article/details/115230109
今日推荐