On Friday 17 December 2004 13:50, Jeroen Frijters wrote:
> Hi,
>
> Attached is an example of how StringBuilder could be made thread safe
> and still enable sharing the char[]. Unfortunately it requires
> allocating an extra temp object and JIT magic, but maybe someone is
> interested in pursuing this (I'm not because I have to special case
> StringBuilder in another way).
>
> Note that you could also get rid of the temporary object by using a
> String instance for this, but that would require making the value and
> count fields of String non-final and this has memory model consequences
> as well (thereby making String non-portable).
Interresting concept;
several bugs:
1) doing an aquire can return a null;  meaning the toString() can cause 
nullpointer exceptions.
2) the release should be synhronized.
Hmm; there are several other bugs which have to do with threading..

A better solution would be have the complete implementation of append() and 
toString() in a synchronized block on a lock object.
So:
private final Object lock = new Object();
public String toString() {
   synchronized(lock) { /* do stuff here */ }
}

-- 
Thomas Zander

Attachment: pgp2VeaSxT41d.pgp
Description: PGP signature

_______________________________________________
Classpath mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/classpath

Reply via email to