मेरे कोड:क्या स्ट्रिंगबिल्डर थ्रेडसेफ है (समानांतर स्ट्रीम के साथ इसका उपयोग कर रहा है)?
StringBuilder sb = new StringBuilder();
events.parallelStream().forEach(event -> {
sb.append(event.toString());
sb.append("\n");
});
मैं अंतिम परिणाम में events.toString()
के आदेश के बारे में परवाह नहीं है। लेकिन मुझे परवाह है कि events.toString()
निश्चित रूप से मिश्रित/गड़बड़ किए बिना, एक के बाद एक पंक्ति को सही ढंग से दिखाई देगा।
parallelStream
(stream
के बजाय) इस संबंध में सुरक्षित है?
भले ही आपने स्ट्रिंगबफर का उपयोग किया हो, फिर भी आपको एक पंक्ति में दो घटनाएं मिल सकती हैं और फिर पंक्ति में दो नई पंक्तियां मिल सकती हैं। – Random832
उत्तर नहीं है। (उपयोगी हो सकता है: [मैं प्रोग्रामेटिक रूप से कैसे साबित करूं कि स्ट्रिंगबिल्डर थ्रेडसेफ नहीं है?] (https://stackoverflow.com/questions/48558432)) – Andrew