如果一个Manager类里有一个public final byte[] lock = new byte[0];属性,Manager创建的1个对象M。 |
|
最终达到的效果是一样的
|
|
一样效果,都不能保证线程安全。
|
|
为什么不能保证线程安全?对这个对象加锁,就只能一个线程对这个对象操作了啊。 |
|
10分 |
了解一下java对象锁的可重入性
http://chenzehe.iteye.com/blog/1766790 |
一个自定义的线程,如果run方法里代码没运行完是不会有重入的可能的啊(锁在run方法内的)。 |
|
10分 |
效果不一样,synchronized(this)对整个对象加锁。一旦加锁,对象的其他方法也不能调用。
|