Java语言程序设计课件.pptVIP

  • 7
  • 0
  • 约 41页
  • 2017-02-21 发布于河南
  • 举报
同步问题(2)——在多线程同步中 同一个实例对象的多个同步方法 同步问题(3)-同步语句块 同步问题(3)-同步语句块 使用了同步语句但线程同步不成功的例子(P416-417) (1)将代码 synchronized(Class.forName(“J_BlockClass”))修改为: synchronized(this) (2)分析运行结果 (3)观察图11.6 不同步的原因:这种”This”方式下,同步语句块中所用的对象锁实质上是两个实例对象锁,而非同一个对象锁 如何修改成真正同步的? (1)同步语句块中使用同一个实例对象锁:P418-420 public J_Experiment m_data; synchronized(m_data) { System.out.println(进入同步语句块的是线程: + m_ID); m_data.m_method1(m_ID); m_data.m_method2(m_ID); System.out.println(离开同步语句块的是线程: + m_ID); } (2)同步语句块中使用类对象锁(上一个例子) 同步问题(4)-同步顺序 五、多线程的同步问题 死锁问题 粒度问题 多线程的同步问题 - 死锁问

文档评论(0)

1亿VIP精品文档

相关文档