死锁编码及定位分析
搞并发,天天河边走,不可能不湿鞋。肯定会遇到死锁。
是什么
学习的境界:学到皮,学到肉,学到骨,学到精,学到魂!
死锁案例演示
线程操纵资源类。
主线程测试:
运行结果:
所谓的吃着碗里的,看着锅里的。
如何解决
使用jdk工具:
去这个java文件所在的文件目录下:直接敲cmd就出来控制台了。而且是当前目录。
idea自带控制台,可以直接用:jps -l
会定位到出现死锁的线程是DeadLockDemo.
然后查看它的堆栈:jstack
会分析出是否出现了死锁。
很明显可以看出资源的竞争地址。
总结: