2020.02.15 线程死锁问题

Posted aojie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020.02.15 线程死锁问题相关的知识,希望对你有一定的参考价值。

package com.guoyun.ThreadTest;

/**
* ClassName:.
* Function: ADD FUNCTION
* Reason: ADD REASON
*
* @author
* @Date
* @since Ver 1.1
*/
public class DeadLockDemo {
public static void main(String[] args) {
new DeadLock("张三").start();
new DeadLock("李四").start();


}
}
class DeadLock extends Thread{
public DeadLock(String name) {
super(name);
}

@Override
public void run() {
if ( "张三".equals(Thread.currentThread().getName())) {
synchronized ("遥控器"){
System.out.println("张三拿到了遥控器,准备去拿电池");
synchronized ("电池"){
System.out.println("张三拿到了遥控器和电池,可以开空调了");
}
}

}else if ( "李四".equals(Thread.currentThread().getName())){
synchronized ("电池"){
System.out.println("李四拿到了电池,准备去拿遥控器");
synchronized ("遥控器"){
System.out.println("李四拿到了遥控器和电池,可以开空调了");
}
}
}
}
}

以上是关于2020.02.15 线程死锁问题的主要内容,如果未能解决你的问题,请参考以下文章

怎么处理JAVA多线程死锁问题?

一个多线程死锁案例,如何避免及解决死锁问题?

多线程编程之线程死锁问题

[锁] 线程死锁解析

java多线程死锁及死锁问题排查

Linux下面 多线程死锁问题的调试