搜索
写经验 领红包

死锁的原因及解决方法java(java死锁的简单例子)

导语:三分钟了解JAVA并发编程之什么是死锁

在两段不同的逻辑都在等待对方的锁释放才能继续往下工作时,这个时候就会产生死锁,表面现象就是程序再也执行不下去了。

死锁实例代码:(为什么用synchronized去锁new byte【1】?因为锁的对象可以不一样,加锁和释放锁都需要此对象的资源,那肯定对象越小越好,所以造一个一个字节的byte对象保证资源最小;工作中常用这种写法提高性能)

1.count类中两个不同的方法在等待锁

2.定义两个线程一个调用count类中add方法一个调用count类中lockmethod方法

3.测试类

4.结果,两个线程互相等待对方释放资源从而形成死锁

总结:通过执行上面的main方法,程序死在哪里,永远不会执行下去,而实际工作中该注意的是方法之间嵌套调用上不能产生死锁

免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小森创作整理编辑!