预防死锁的方法
吞咽沧桑
精选回答
1、避免一个线程同时获取多个锁。
2、避免一个线程在锁内同时占用多个资源,尽量保证每个锁只占用一个资源。
3、尝试使用定时锁,使用Lock.tryLock(timeout)来替代使用内部锁机制。
4、对于数据库锁,加锁和解锁须在一个数据库连接里,否则会出现解锁失败的情况。
产生死锁的原因主要是:
1、因为系统资源不足。
2、进程运行推进的顺序不合适。
3、资源分配不当等。
如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。产生死锁的四个必要条件:
1、互斥条件:一个资源每次只能被一个进程使用。
2、请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
3、不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
4、循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁。
脚踏实地 2023-11-14 12:26:24
相关推荐
茂县有多少人口
茂县,在2015年末,户籍人口为11.16万;茂县,隶属于四川省阿坝藏族羌族自治州。位于四川省西北部、阿坝藏族羌族自治州东南部的青藏高原东南边缘,地跨岷江和涪江上游高山河谷地带,属高原性季风气候;全县总面积39...
展开详情XP系统怎么进安全模式
安全模式是Windows系统中的一种特定模式,XP系统进入安全模式的方法:1、如果感觉系统出现问题,或者有一些无法卸载的软件,需要到安全模式中解决,那请先重新启动;2、?在系统未启动之前,一直不停地按F8键,直...
展开详情如何带好一支优秀的幼儿教师团队
实行人为管理,充分尊重和信任教师。实行人性化管理,让每一位教师都参与到管理中去。切实关心教师的生活,解决教师的后顾之忧。尊重和信任教师。善于用人,充分发挥团队的力量。注重教师培训,提高业务水平。按计划定期让老师...
展开详情板式家具设计需要学习哪些软件
CAD:主要绘制工具,此软件是家具设计师的重点学习软件。3DMAX:产品建模,场景建模主要展示出产品的特质构造。Vray:配合3DMAX,渲染出产品展示产品三维和各种材质的特点。Coreldraw:产品包装图纸...
展开详情