zoukankan      html  css  js  c++  java
  • java多线程中的死锁

    产生死锁的原因:多个线程用到了多个锁,多个锁之间存在交叉关系,就有可能产生死锁。

    下面是简单的死锁,下面代码中的死锁不是一定会产生。

    package demo_1;
    
    public class TestDeadLock {
    
        public static void main(String[] args) {
            
            Thread1 thread1 = new Thread1();
            Thread2 thread2 = new Thread2();
            
            Thread t1 = new Thread(thread1);
            Thread t2 = new Thread(thread2);
            
            t1.start();
            System.out.println(234);
            t2.start();
    
        }
    
    }
    
    class MyLock{
        static Object obj1 = new Object();
        static Object obj2 = new Object();
    }
    
    class Thread1 implements Runnable{
    
        @Override
        public void run() {
            synchronized (MyLock.obj1) {
                System.out.println("lock obj1");
    /*            try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }*/
                synchronized (MyLock.obj2) {
                    System.out.println("say1..obj2");
                }
            }
            
        }
        
    }
    class Thread2 implements Runnable{
    
        @Override
        public void run() {
            synchronized (MyLock.obj2) {
                System.out.println("lock obj2");
    /*            try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }*/
                synchronized (MyLock.obj1) {
                    System.out.println("say..obj1");
                }
            }
            
        }
        
    }
  • 相关阅读:
    我们是在开发产品还是项目?
    创业期的软件开发管理(一)
    由“I”到“T”
    创业期的软件开发管理(二)
    平台架构用户系统
    产品的臃肿过程
    平台架构——体系结构
    狼群的架构暗示
    如何创建一个好的索引
    哈希索引
  • 原文地址:https://www.cnblogs.com/yeming/p/5452777.html
Copyright © 2011-2022 走看看