कार्यक्रम नौ प्रिंट के बाद खत्म:शेड्यूल किए गए एक्सप्लोरर सेवा को कैसे रोकें?
class BeeperControl {
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
public void beep() {
final Runnable beeper = new Runnable() {
public void run() {
System.out.println("beep");
}
};
final ScheduledFuture<?> beeperHandle = scheduler.scheduleAtFixedRate(
beeper, 1, 1, SECONDS);
scheduler.schedule(new Runnable() {
public void run() {
beeperHandle.cancel(true);
}
}, 1 * 9, SECONDS);
}
public static void main(String[] args) {
BeeperControl bc = new BeeperControl();
bc.beep();
}
}
कैसे एक प्रक्रिया (उदाहरण के लिए ग्रहण में अर्थात जावा प्रक्रिया) को रोकने के लिए, क्योंकि यह 9 सेकंड में एक समय सीमा के बाद बंद नहीं करता है?
अच्छा ... आपका मतलब क्या है "यह 9 सेकंड में समय सीमा के बाद नहीं रुकता"? मैंने अभी परीक्षण किया है, और "बीप" 9 सेकंड के बाद बंद होने की उम्मीद है। पूरा कार्यक्रम निश्चित रूप से नहीं रुकता है, क्योंकि आपने थ्रेड पूल को बंद नहीं किया है। यदि - बीपर को रद्द करने के बजाय - आप बस 9 सेकंड के बाद शेड्यूलर को बंद कर देते हैं, तो आपका प्रोग्राम सामान्य रूप से बाहर निकल जाएगा। क्या वह व्यवहार आप चाहते थे? – Seelenvirtuose