Il mio codice:StringBuilder è thread-safe (si usa con parallelStream)?
StringBuilder sb = new StringBuilder();
events.parallelStream().forEach(event -> {
sb.append(event.toString());
sb.append("\n");
});
non mi interessa circa l'ordine del events.toString()
nel risultato finale. Ma mi interessa che lo events.toString()
appaia correttamente una riga dopo l'altra, senza mescolare/incasinare ovviamente.
È parallelStream
(anziché stream
) sicuro a questo proposito?
Anche se si è utilizzato un StringBuffer, è possibile ottenere due eventi di seguito e due a capo di nuova riga. – Random832
La risposta è no. (potrebbe essere utile: [Come faccio a dimostrare a livello di programmazione che StringBuilder non è protetto da thread?] (https://stackoverflow.com/questions/48558432)) – Andrew