इस कोड को चलाना, मैं उम्मीद करता हूं कि यह परीक्षण चर को 5 सेकंड के लिए बढ़ाएगा और फिर समाप्त होगा।लूप समाप्त नहीं होने पर
import java.util.Timer;
import java.util.TimerTask;
public class Test {
private static boolean running;
public static void main(String[] args) {
long time = 5 * 1000; // converts time to milliseconds
long test = Long.MIN_VALUE;
running = true;
// Uses an anonymous class to set the running variable to false
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() { running = false; }
}, time);
while(running) {
test++;
}
timer.cancel();
System.out.println(test);
}
}
लेकिन जब मैं इसे चलाने के कार्यक्रम खत्म नहीं होता (मुझे लगता है, मैं इसे समय के लिए उचित समय दे दिया है)। लेकिन अगर मैं
while(running) {
System.out.println();
test++;
}
जबकि पाश बदलने कार्यक्रम समय की उम्मीद राशि में खत्म (और लाइनों का एक बहुत बाहर प्रिंट)। मुझे समझ में नहीं आता यह व्यवहार क्यों होता है?
यदि आप 'अस्थिर' चलाना चाहते हैं तो क्या होगा? –
मैंने इंटेलिजे 11 के साथ जेडीके 7 का उपयोग करके अपने कोड का परीक्षण किया और दोनों संस्करण कुछ सेकंड में समाप्त हो गए। आप दौड़ने के लिए क्या उपयोग कर रहे हैं? –
@ एंडी टर्नर वाह, मैं पहले कभी अस्थिर कीवर्ड में नहीं आया हूं। Thats कोड काम करता है। धन्यवाद! – DenverCoder9