测试类: 运行结果:
线程死锁
代码演练demo:package cn.yb.thread; public class DeadLockRunnable implements Runnable { private int flag;//决定线程走向的标记 private static Object obj1 = new Object();//锁对象1 private static Object obj2 = new Object();//锁对象2 public DeadLockRunnable(int flag) { this.flag = flag; } public void run() { if(flag == 1){ //线程1执行代码 synchronized (obj1) { System.out.println(Thread.currentThread().getName()+"已经获取到资源obj1,请求obj2"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } synchronized (obj2) { System.out.println(Thread.currentThread().getName()+"已经获取到obj1和obj2"); } } }else { //线程2执行代码 synchronized (obj2) { System.out.println(Thread.currentThread().getName()+"已经获取到资源obj2,请求obj1"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } synchronized (obj1) { System.out.println(Thread.currentThread().getName()+"已经获取到obj1和obj2"); } } } } }
package cn.yb.thread; public class DeadLockDemo { public static void main(String[] args) { //1.创建两个DeadLockRunnable实例:flag = 1;flag = 2 DeadLockRunnable runnable1 = new DeadLockRunnable(1); DeadLockRunnable runnable2 = new DeadLockRunnable(2); //2.创建两个线程执行两个DeadLockRunnable Thread thread1 = new Thread(runnable1,"runnable1"); Thread thread2 = new Thread(runnable2,"runnable2"); thread1.start(); thread2.start(); } }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算