zoukankan      html  css  js  c++  java
  • java(jdk8)死锁案例

    package testSynchorized;

    public class SynchronizedDeadLockTest {
    static Object src1 = new Object();
    static Object src2 = new Object();

    public static void main(String[] args) {
    Thread t1 = new Thread(new DeadARunnable(), "t1");
    Thread t2 = new Thread(new DeadBRunnable(), "t2");
    t1.start();
    t2.start();
    }
    }

    class DeadARunnable implements Runnable {
    @Override
    public void run() {
    synchronized (SynchronizedDeadLockTest.src1) {
    try {
    System.out.println(Thread.currentThread().getName() + " get src1 ing!");
    Thread.sleep(500);
    System.out.println(Thread.currentThread().getName() + " after sleep 500ms!");
    } catch (Exception e) {
    e.printStackTrace();
    }
    System.out.println(Thread.currentThread().getName() + " need src2 and waiting!");
    /**
    * Thread t2 try get source src2 when locked source src1
    */
    synchronized (SynchronizedDeadLockTest.src2) {
    System.out.println(Thread.currentThread().getName() + " get src2 ing!");
    }
    }
    }
    }

    class DeadBRunnable implements Runnable {
    @Override
    public void run() {
    synchronized (SynchronizedDeadLockTest.src2) {
    try {
    System.out.println(Thread.currentThread().getName() + " get src2 ing!");
    Thread.sleep(500);
    System.out.println(Thread.currentThread().getName() + " after sleep 500ms!");
    } catch (Exception e) {
    e.printStackTrace();
    }
    System.out.println(Thread.currentThread().getName() + " need src1 and waiting!");
    /**
    * Thread t1 try get source src1 when locked source src2
    */
    synchronized (SynchronizedDeadLockTest.src1) {
    System.out.println(Thread.currentThread().getName() + " get src1 ing!");
    }
    }
    }

    }

  • 相关阅读:
    《构建之法》阅读笔记02
    《构建之法》阅读笔记01
    学习进度
    “校园知网”端午假期冲刺计划书
    学习进度
    计算最长英语单词链
    第一周冲刺_周日总结
    构建之法阅读笔记03
    第一周冲刺_周六总结
    软件工程概论第十四周学习进度
  • 原文地址:https://www.cnblogs.com/leigepython/p/11855600.html
Copyright © 2011-2022 走看看