मैं कैसे जल्दी से साबित कर सकता हूं कि निम्न वर्ग थ्रेड-सुरक्षित नहीं है (क्योंकि यह आलसी प्रारंभिकता का उपयोग करता है और सिंक्रनाइज़ेशन का उपयोग नहीं करता) कुछ कोड लिखकर? दूसरे शब्दों में, यदि मैं थ्रेड सुरक्षा के लिए निम्न श्रेणी का परीक्षण कर रहा हूं, तो मैं इसे कैसे विफल कर सकता हूं?निम्नलिखित कोड प्रदान करना धागा सुरक्षित नहीं है
public class LazyInitRace {
private ExpensiveObject instance = null;
public ExpensiveObject getInstance() {
if (instance == null)
instance = new ExpensiveObject();
return instance;
}
}
कन्स्ट्रक्टर सहायता में 'थ्रेड.sleep' जोड़ना होगा? – Amarghosh
क्या आपके पास कोड का उपयोग करके इसे साबित करने के लिए * है, या आप इसे अन्य तरीकों से साबित कर सकते हैं? यह साबित करने के लिए एक आसान निष्पादन आरेख का उपयोग किया जा सकता है कि यह सुरक्षित नहीं है। – Herms
साबित करने के लिए क्या है? यह थ्रेड-सुरक्षित नहीं है। – ChaosPandion