首页 > 代码库 > 写一个java死锁的demo
写一个java死锁的demo
package com.simon.study;/** * 线程死锁 一个线程要同时拥有两个对象的资源才能进行下一步操作; * @author: Simon * @date: 2017年7月29日 下午9:48:43 */public class DeadLock implements Runnable{ static Object o1=new Object(),o2=new Object(); public int flag=1; public void run() { // TODO Auto-generated method stub System.out.println("flag***********"+flag); if(flag==1){ synchronized (o1) { try { Thread.sleep(500); } catch (Exception e) { // TODO: handle exception } synchronized (o2) { System.out.println("这里线程1获取所有的线程权限"); } } } if(flag==0){ synchronized (o2) { try { Thread.sleep(500); } catch (Exception e) { // TODO: handle exception } synchronized (o1) { System.out.println("这里线程2获取所有的线程权限"); } } } } public static void main(String[] args){ DeadLock deadLock1=new DeadLock(); DeadLock deadLock2=new DeadLock(); deadLock1.flag=1; deadLock2.flag=0; Thread r1=new Thread(deadLock1); Thread r2=new Thread(deadLock2); r1.start(); r2.start(); } }
写一个java死锁的demo
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。