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
pgp2VeaSxT41d.pgp
Description: PGP signature
_______________________________________________ Classpath mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/classpath

