A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梁健 黑马帝   /  2011-11-20 20:01  /  1816 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

多线程同步里的死锁是啥子概念哦?

3 个回复

倒序浏览
1.死锁是因为多线程访问共享资源,由于访问的顺序不当所造成的,通常是一个线程锁定了一个资源A,而想去锁定资源B,在另一个线程中,锁定了资源B,而又想去锁定资源A以完成自身的操作,两个线程都想得到对方的资源,而不愿释放自己的资源,造成两个线程都在等待,而无法执行的情况。
2.分析死锁产生的原因不难看出是由访问共享资源顺序不当所造成的,如果有人需要编写多线程的系统,当操作共享资源时一定要特别的小心,以防出现死锁的情况!
回复 使用道具 举报
简单一点就是两个人同一时间里访问了同一个方法,有可能改变了这个方法的共享数据,这样程序就不知道到底谁的数据才是正确的,解析多线程并发的问题可以使用同步代码块来解决
回复 使用道具 举报
通俗的讲就是,同步中嵌套同步,而锁不同。一个线程需要另一个线程中的锁,而对方也需要该线程的锁,双方相互索要。就谁也得不到。程序执行不下去。

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马