I'm reading in Using Java 2 by Joseph L. Weber that "Array declarations are composed of the following parts: Array modifiers | Optional |The keywords public, protected, private, or synchronized." I understand how an array can be public, protected or private; but synchronized. The book was publish in 1998. Has this changed? d
Hi David, Welcome to JavaRanch. An array is an Object. So, just as you can synchronzie on any Object, you can sync an array. For example:
That's pretty useless code, but it does demonstrate that arrays are instantiated with new like any Object and have valid wait() and notifyAll() methods. Michael Morris
I would have thought the same thing David did, based on what he quoted. And no, you can't declare an array as synchronized. That's not something that's changed - you've never been able to declare an array aynchronized. The book is wrong. You can synchronize on an array (after its declaration and instantiation) as Michael showed - but you can't use synchronized as a modifier in the declaration.
I guess I never considered that anyone would conceive of declaring a reference as synchronized. I just assumed that the intended meaning was that unlike a primitive, an array could be used as the reference of a synchronized block. Surely that was the author's intent though admittedly it was not phrased that way. Michael Morris
You should probably post your question as a new topic. However, in brief, synchronization deals with mult-threaded programs and controlling data access. You should first learn about threads before you delve into synchronization. You can find plenty of stuff about threads on the Web.I suggest you start with the tutorials on Sun's web site. HTH Layne
Post by:autobot
Seriously? That's what you're going with? I prefer this tiny ad:
a bit of art, as a gift, that will fit in a stocking