没有合适的资源?快使用搜索试试~ 我知道了~
什么是死锁,如何避免死锁?Java死锁详解
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
2 下载量 36 浏览量
2020-12-20
15:54:03
上传
评论
收藏 141KB PDF 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/13738239/0001-410b46ca7b70748f7a83b92c36332c32_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
1页
什么是死锁 死锁是指多个进程因竞争资源而引起的一种僵局,如果没有外力作用,所有进程都不会向前推进。 举例:假如有线程Thread1和Thread2,两个都要访问共享资源AB,Thread1和Thread2一个先访问A再访问B,另一个先访问B再访问A。但在他们线程未执行完时,都不会释放AB资源,那么就形成了一种僵局,Thread1在等待Thead2施放B资源,Thread2在等待Thread1释放A资源,两个进程就形成了一种僵局,下面以Java代码实现为例说明: public class DeadThread { private Thread thread1; public D
资源推荐
资源详情
资源评论
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![thumb](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/release/download_crawler_static/13738239/bg1.jpg)
什么是死锁,如何避免死锁?什么是死锁,如何避免死锁?Java死锁详解死锁详解
什么是死锁什么是死锁
死锁是指多个进程因竞争资源而引起的一种僵局,如果没有外力作用,所有进程都不会向前推进。死锁是指多个进程因竞争资源而引起的一种僵局,如果没有外力作用,所有进程都不会向前推进。
举例:假如有线程Thread1和Thread2,两个都要访问共享资源AB,Thread1和Thread2一个先访问A再访问B,另一个先访问B再访问A。但在他们线程未执行完时,都不会释放AB资
源,那么就形成了一种僵局,Thread1在等待Thead2施放B资源,Thread2在等待Thread1释放A资源,两个进程就形成了一种僵局,下面以Java代码实现为例说明:
public class DeadThread {
private Thread thread1;
public DeadThread(Object object1,Object object2){
thread1 = new Thread(() -> {
synchronized (object1){
System.out.println("获取到o1"+Thread.currentThread().getName());
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized (object2){
System.out.println("获取到o2"+Thread.currentThread().getName());
}
}
});
thread1.start();
}
public static void main(String[] args) {
Object object1=new Object();
Object object2=new Object();
DeadThread deadThread=new DeadThread(object1,object2);
DeadThread deadThread1=new DeadThread(object2,object1);
}
}
其中Object1和Object2就是上述的资源AB。
死锁产生的必要条件死锁产生的必要条件
互斥条件:资源互斥访问。一个资源每次只能被一个进程使用,即在一段时间内某 资源仅为一个进程所占有。此时若有其他进程请求该资源,则请求进程只能等待。
请求保持:进程已经拥有了资源,又请求资源。进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源 已被其他进程占有,此时请求进程被阻塞,但对自己已获得的资
源保持不放。
不可剥夺:进程拥有的资源不会被剥夺,只能自己主动释放。进程所获得的资源在未使用完毕之前,不能被其他进程强行夺走,即只能 由获得该资源的进程自己来释放(只能是主动
释放)。
循环等待: 进程之间形成了一个循环等待资源的环。若干进程间形成首尾相接循环等待资源的关系。
死锁产生的原因
死锁产生的原因死锁产生的原因
进程推进顺序非法。
进程竞争资源。
Java中怎么监测死锁中怎么监测死锁
还是以上述程序为例:可以看到这两个线程都处于blocked状态
用idea自带的debug功能
原创文章 18获赞 0访问量 828
关注
私信
展开阅读全文
作者:会飞的瓜牛
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
weixin_38725137
- 粉丝: 3
- 资源: 925
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 网络爬虫软件研究与开发pdf
- Java项目-基于SSM+JSP的母婴用品网站的设计与实现(源码+数据库脚本+部署视频+代码讲解视频+全套软件)
- 基于微信小程序的购物商城app设计带Java后端+源代码+文档说明+数据库.zip
- 基于51单片机外设应用设计.DSN后缀PROTEUS仿真仿真源文件及C语言实例源码例程合集(300个).zip
- “Bunnies and Badgers”兔子和獾和是一个基于pygame库开发的射击游戏
- 华为打印机,华为打印机资料
- Java项目-基于SSM+JSP的医院门诊挂号系统的设计与实现(源码+数据库脚本+部署视频+代码讲解视频+全套软件)
- mac os button功能demo
- 如何在Ubuntu上安装软件?
- 华为HCIA-WLAN 3.0 课程视频(20 熟悉命令行.mp4)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)