2013-04-06 82 views
0

是否有任何概念作为Java中的同步CLASS与Monitor一样工作?我不是说同步的方法!我知道Monitor类是,当一个线程在运行这个类的一个实例的任何方法,没有其他线程可以访问这个对象的任何方法Java中的同步类(即监视器)

+0

让我们假设有这样的概念。你需要什么? – giorashc 2013-04-06 15:50:24

+0

要实现该行为,请使该类的所有方法同步。 – 2013-04-06 15:50:35

+0

1.模仿性2.某些情况下的简单性 – 2013-04-06 15:55:07

回答

4

我能想到的唯一的办法是让每一个方法​​。没有捷径可以为整个班级自动实现这一点。

+0

我想它不会导致相同的行为, 让我们假设这个类有两个方法M1和M2,当M1由Thread1执行时,没有其他线程(例如Thread2)可以执行此方法,但他们可能会调用另一种方法M2,对吧? – 2013-04-06 15:54:02

+4

@ArianHosseinzadeh:不,错了。没有其他线程可以在同一个实例上执行任何**同步方法。 – NPE 2013-04-06 15:56:33

+0

@ArianHosseinzadeh每个实例只有一个锁。 – 2013-04-06 15:57:34