黑马程序员技术交流社区

标题: 有没有讲锁讲的比较深的视频或者文章呢 [打印本页]

作者: pure_dust    时间: 2015-1-5 17:44
标题: 有没有讲锁讲的比较深的视频或者文章呢
最近在弄锁这个东西,发现调试的时候,在访问被锁定对象的成员和对象所在类的方法这里出了不少问题,里面的原因一直没怎么琢磨透彻,求大神推荐下下!
作者: lhyzxc0205    时间: 2015-1-5 17:59
我看到的一位马友答案:产生死锁的四个必要条件: (1) 互斥条件:一个资源每次只能被一个进程使用。 (2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 (3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。 (4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。 这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁。  在毕老师的视频中有例子,其中讲到线程安全问题。多个线程执行多条语句并共享数据时,一个线程只执行了语句的一部分,还没执行完,另外的线程参与进来执行,导致共享数据的错误。 解决方法:合理的利用“锁”可以避免出现死锁。当访问共享数据时,给数据加锁,防止其他线程同时对数据进行访问。直到该线程访问完毕释放“锁”




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2