मैं एक मान बदलता हूं जो निर्धारित करने के लिए प्रयोग किया जाता है कि थोड़ी देर के दौरान एक अलग-अलग लूप समाप्त हो जाता है।
मैं नहीं जानना चाहता कि यह काम कैसे प्राप्त करें। मैं केवल सिंक्रनाइज़ getters/setters यह काम करता है के रूप में उम्मीद के माध्यम से चर परीक्षण का उपयोग करते हैं ..एक मल्टीथ्रेडिंग प्रोग्राम में अनसंक्रोनिज्ड एक्सेस के साथ जावा में अजीब व्यवहार
मैं अपेक्षा की होगी, अगर कुछ पढ़ने/लिखने आदेशों संगामिति कार्यक्रम कभी कभी समाप्त नहीं करता की वजह से खो रहे हैं, लेकिन यह कभी नहीं कर देता है। क्या मुझे भ्रमित करता है ..
मैं जानना चाहता हूं कि कार्यक्रम कभी भी प्रिंट-कमांड के बिना समाप्त नहीं होता है। और मैं समझने के लिए क्यों प्रिंट कमांड कुछ भी बदल जाता है चाहते हैं ..
public class CustomComboBoxDemo {
public static boolean test = true;
public static void main(String[] args) {
Thread user =new Thread(){
@Override
public void run(){
try {
sleep(2000);
} catch (InterruptedException e) {}
test=false;
}
};
user.start();
while(test) {
System.out.println("foo"); //Without this line the program does not terminate..
}
}
}
देखें: [लूप को प्रिंट स्टेटमेंट के बिना परिवर्तित मूल्य दिखाई नहीं देता है] (https://stackoverflow.com/questions/25425130/loop-doesnt-see-changed-value-without-a-print-statement) – Boann