为什么我需要在使用同步块的Im时传递“this”?同步的partemer的目的是什么?为什么我需要通过这个当Im使用同步块?
0
A
回答
0
因为需要锁定对象。 this
和任何一样方便,或者你可以说Object lock = new Object()
和lock
同步。
或者,您可以将您的方法标记为。
0
Java同步块结构采用括号中的对象。 “this”是调用哪个方法的实例。被同步的结构在括号中的对象被称为监视对象。该代码被称为在监视器对象上同步。同步实例方法使用它所属的对象作为监视器对象。
只有一个线程可以在同一监视器对象上同步的Java代码块内执行。
0
同步将在您指定的对象上完成,这意味着如果两个线程在同一个对象上同步,则只能有一个同时运行代码块。
它可以是任何对象,但它通常会是this
。例如,这使您可以在同一个类中的不同对象上进行同步。
0
了Syntex是synchronized(objectLock) { }
不necessorily this
, 我们需要传递一个对象,这是我们想给的情况下,独家获得的多个线程试图运行同一个synchronized块。 这样,如果在任何时间点,2个或更多线程试图访问同步块,则传递的对象(在这种情况下为'this
')将具有该块的独占访问权限,除非块扩展完成,否其他人可以访问该块。
0
Synchronize使用对象引用来锁定监视器对象。 要防止同时访问的每个资源应具有其自己的监视器对象。最简单的方法是使用this
。
相关问题
- 1. 为什么在这里需要同步?
- 2. 我需要同步这个
- 3. 为什么我需要同步由Collections.synchronizedList
- 4. 我需要什么同步原语?
- 5. 我为什么要通过对象锁关键字而同步
- 6. 为什么CopyOnWriteArrayList.get不需要同步?
- 7. 为什么IdleConnectionMonitorThread需要同步
- 8. 当我需要使用哈希映射,因为它不同步
- 9. 当我们已经有向量时,为什么我们需要同步ArrayList?
- 10. 为什么我需要在使用块内使用odbcconnection.open
- 11. 为什么我们需要在这里通用?协议不够?
- 12. 什么是OWASP?为什么我们需要这个?
- 13. 什么是jquery noConflict,为什么我们需要这个?
- 14. tf.app.flags做什么?为什么我们需要这个?
- 15. 什么是__i686.get_pc_thunk.bx?我们为什么需要这个电话?
- 16. 通过php.com扩展使用Internet Explorer - 为什么需要这么长时间?
- 17. 为什么我需要Iterator接口,为什么要使用它?
- 18. 为什么这需要malloc'd?
- 19. 为什么try块需要一个catch
- 20. 在这里同步需要
- 21. 这里需要同步吗?
- 22. 这是否需要同步?
- 23. 为什么需要这个return语句?
- 24. 为什么需要这个UNIQUE约束?
- 25. 为什么需要这个斜线?
- 26. 为什么这个函数需要[[a]]?
- 27. 为什么这里需要一个锁?
- 28. 为什么()需要在这个Javascript代码块中?
- 29. 为什么我们需要使用prompt.start()?
- 30. 为什么我不需要使用Adapter.notifyDataSetChanged()?
请解释你的问题的一些代码? – uba 2013-03-13 08:44:05
通过使用对象锁来完成同步,对'synchuonized()'块我们已经知道锁必须被获取到哪个对象 – 2013-03-13 08:44:18
已经在其他地方解释过了(http://bit.ly/ZHBFgn),以及很多的时代。 – 2013-03-13 08:47:36