Le implementazioni java.util.stream.Collectors::joining
sono thread-safe? Posso fare qualcosa comeCollectors.joining (",") thread-safe?
public final class SomeClass {
private static final Collector<CharSequence, ?, String> jc = Collectors.joining(",");
public String someMethod(List<String> someList) {
return someList.parallelStream().collect(jc);
}
}
senza paura di incorrere in problemi di concorrenza?
Da quello che ricordo non è responsabilità dei Collettori gestire la sicurezza del filo. I collezionisti forniscono semplicemente il modo di spiegare * dove * raccogliere, ma è Stream che gestisce * quando * raccogliere (che dovrebbe anche essere thread-safe). – Pshemo
@Pshemo In questo caso più flussi utilizzano lo stesso programma di raccolta condiviso. – assylias
@Pshemo guarda all'implementazione sembra funzionare - non so se è specifico per questo raccoglitore o se è un risultato derivato della sicurezza del thread. – assylias