JAVA死锁2

本文提供了一个Java死锁示例代码,通过两个线程分别锁定不同的资源并尝试获取对方已锁定的资源,导致死锁发生。该代码展示了如何在多线程环境中因资源锁定顺序不当而引发死锁的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class Deadlock{  
    public static void main(String[  ] args) {  
        final Object resource1 = "resource1";  
        final Object resource2 = "resource2";  
        int a=0;  
        Thread t1 = new Thread( ) {  
                public void run( ) {  
                    synchronized(resource1) {  
                        System.out.println("Thread 1: locked resource 1");  
                        try {   
                            Thread.sleep(50);   
                        }catch (InterruptedException e) {    
                              
                        }  
                        synchronized(resource2) {  
                                while(true){  
                                    System.out.println("Thread 1: locked resource 2");  
                                    try {  
                                        Thread.sleep(10000);  
                                    }catch (InterruptedException e) {  
                                          
                                    }  
                            }  
                        }  
                    }  
                }  
            };  
          
        Thread t2 = new Thread( ) {  
                public void run( ) {  
                    synchronized(resource2) {  
                          
                        System.out.println("Thread 2: locked resource 2");  
                          
                        try {   
                            Thread.sleep(50);   
                        }catch (InterruptedException e) {    
                              
                        }     
                        synchronized(resource1) {  
                              
                            System.out.println("Thread 2: locked resource 1");  
                              
                        }  
                    }  
                }  
            };  
          
        t1.start( );   
        t2.start( );  
    }  
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值