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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

最近在弄锁这个东西,发现调试的时候,在访问被锁定对象的成员和对象所在类的方法这里出了不少问题,里面的原因一直没怎么琢磨透彻,求大神推荐下下!

1 个回复

倒序浏览
我看到的一位马友答案:产生死锁的四个必要条件: (1) 互斥条件:一个资源每次只能被一个进程使用。 (2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 (3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。 (4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。 这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁。  在毕老师的视频中有例子,其中讲到线程安全问题。多个线程执行多条语句并共享数据时,一个线程只执行了语句的一部分,还没执行完,另外的线程参与进来执行,导致共享数据的错误。 解决方法:合理的利用“锁”可以避免出现死锁。当访问共享数据时,给数据加锁,防止其他线程同时对数据进行访问。直到该线程访问完毕释放“锁”
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马