class ThreadSafeClass extends Thread
{
private static int count = 0;
public synchronized static void increment()
{
count++;
}
public synchronized void decrement()
{
count--;
}
}
क्या कोई समझा सकता है कि उपरोक्त वर्ग सुरक्षित क्यों नहीं है?
synchronized
केवल स्थैतिक तरीकों का उपयोग किया जाना चाहिए। इसलिए मेरी राय में, भले ही आप increment
विधि को हटा दें , यह अभी भी थ्रेडसेफ़ नहीं है क्योंकि दो इंस्टेंसेस (जो एक ही उदाहरण के माध्यम से केवल सिंक्रनाइज़ किए गए एक्सेस हैं) विधि को समवर्ती कॉल कर सकते हैं।
increment
) लेता है तो यह थ्रेड सुरक्षित होगा। या अगर आपने कुछ लॉकिंग ऑब्जेक्ट का उपयोग किया है। जैसा कि मैंने कहा, मैं जावा के बारे में नहीं जानता - मेरी टिप्पणी सी # ज्ञान से उपजी है।