Czy kolekcje Google Joiner wątek jest bezpieczny?Czy wątek Joiner jest bezpieczny?
16
A
Odpowiedz
16
Jego stan jest tylko
private final String separator;
Więc tak to threadsafe.
28
Tak! Nie zamierzamy powtarzać błędów SimpleDateFormat
. :-)
Joiner
musi otrzymać podobną aktualizację dokumentacji, która ma co jej siostra Splitter
dostał klasa, która mówi:
* <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
Doktor Joiner został naprawiony. http://guava-libraries.googlecode.com/svn/trunk/javadoc/com/google/common/base/Joiner.html –
@Pangea - To threadsafe teraz. Jeśli nie jest to udokumentowane jako bezpieczne dla wątków, może się to zmienić w przyszłości. – Robin
Co więcej, skoro jest to taki tani obiekt do stworzenia, dlaczego nie utworzyć go lokalnie w razie potrzeby? Unikaj dzielenia go między wątkami. – daveb
@Robin, to rozsądna rada. Choć udokumentowane lub nie, byłoby strasznie socjopatycznym z każdego opiekuna biblioteki, aby zmienić klasę z wątków, aby nie była bezpieczna dla wątków po jej wydaniu! Nie zrobimy tego tobie. –