java同步
2026/4/25 5:12:12 网站建设 项目流程

死锁

deadlock或deadly embrace

对于那些容易发生死锁的代码,遵循以下原则有助于规避死锁:

  • 只在必要的最短时间内持有锁。考虑使用同步语句块代替整个同步方法。
  • 尽量编写不在同一时刻需要持有多个锁的代码。如果不可避免,则确保线程持有第二个锁的时间尽量短暂。
  • 创建和使用一个大锁来代替若干小锁。把这个锁用于互斥,而不是用作单个对象的对象级别锁。

1.byte[] lock = new byte[0]; // 特殊的instance变量,零长度的byte数组对象创建起来将比任何对象都经济――查看编译后的字节码:生成零长度的byte[]对象只需3条操作码,而Object lock = new Object()则需要7行操作码。

2.资源获取即初始化(RAII, Resource Acquisition Is Initialization)

区域锁 (Scoped Lock)

Monitor Object 设计模式

http://www.ibm.com/developerworks/cn/java/j-lo-synchronized/

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询