2010-03-03 12 views

Respuesta

16

Su único estado es un

private final String separator; 

Así que sí que es multi-hilo.

+2

@Pangea - Es multi-hilo ahora. Si no está documentado como threadsafe, eso puede cambiar en el futuro. – Robin

+1

Además, dado que es un objeto tan barato de crear, ¿por qué no crearlo localmente cuando sea necesario? Evite compartirlo entre hilos para comenzar. – daveb

+7

@Robin, ese es un consejo prudente. ¡Aunque documentado o no, sería horriblemente sociópata de cualquier mantenedor de la biblioteca cambiar una clase de threadsafe a no threadsafe después de que se haya lanzado! No te haremos eso. –

28

Sí! No vamos a repetir los errores de SimpleDateFormat. :-)

Joiner necesita recibir una actualización de la documentación similar a lo que su clase hermana Splitter consiguió, que dice:

* <p><b>Warning: splitter instances are always immutable</b>; a configuration 
* method such as {@code omitEmptyStrings} has no effect on the instance it 
* is invoked on! You must store and use the new splitter instance returned by 
* the method. This makes splitters thread-safe, and safe to store as {@code 
* static final} constants . . . 
+8

Joiner doc se ha solucionado ahora. http://guava-libraries.googlecode.com/svn/trunk/javadoc/com/google/common/base/Joiner.html –

Cuestiones relacionadas