Re: Why "lock" functionality is introduced for all the objects?
On 7/22/2011 9:30 AM, Patricia Shanahan wrote:
On 7/22/2011 7:17 AM, Arne Vajh?j wrote:
On 7/22/2011 12:20 AM, Henderson wrote:
On 21/07/2011 8:30 PM, Arne Vajh?j wrote:
On 6/30/2011 6:04 PM, Tom Anderson wrote:
On Tue, 28 Jun 2011, Alex J wrote:
The better decision, IMHO, would be to introduce lock/wait mechanics
for only, say, the Lockable descendants.
I agree with this, actually. There might be some small performance
improvement, but it would also make the locking behaviour of code more
explicit, and so clearer.
Given that Java does not allow multiple inheritance then that would
have been tough restriction.
Others suggested that Lockable could have been a marker interface with
special significance to the compiler, ala Serializable. Java allows
multiple inheritance of interfaces.
It could be, but does that provide any space in the data structure?
Compiler magic. Just as the compiler reacts the lack of any constructor
by generating a default constructor, it would react to the Lockable
interface by generating a field to contain the lock data.
More precisely, it would generate the field if the class is Lockable and
its immediate superclass is not Lockable. There should be at most one
lock field in the object.
Patricia