System.out
"मानक" आउटपुट स्ट्रीम - PrintStream
देता है। जावाडोक PrintStream
कीOpenJDK के स्रोत पर मुझे धागा सुरक्षा लेकिन देख बारे में कुछ नहीं बताता है और OracleJDK मुझसे कहता है कि println
सिंक्रनाइज़ है।डिफ़ॉल्ट रूप से System.out.println थ्रेड-सुरक्षित है?
/**
* Prints a String and then terminate the line. This method behaves as
* though it invokes <code>{@link #print(String)}</code> and then
* <code>{@link #println()}</code>.
*
* @param x The <code>String</code> to be printed.
*/
public void println(String x) {
synchronized (this) {
print(x);
newLine();
}
}
कि बहुत अच्छी तरह से फिट बैठता है अपने अनुभवों को: System.out.println()
'मिश्रित' उत्पादन कभी नहीं बनाई गई कॉलिंग जब विभिन्न धागे से फोन कर रहा।
तो मेरे सवाल (ओं):
- मैं इस व्यवहार (विभिन्न JVMs का उपयोग) पर भरोसा कर सकते हैं?
- क्या कुछ दस्तावेज हैं जो मुझे याद आया जो इस व्यवहार का वर्णन करता है?
यह भी देखें: http://stackoverflow.com/questions/9459657/synchronization-and-system-out-println – slipperyseal