मुझे यह समस्या है, मेरे पासजावा: सिंगल थ्रेड शेड्यूल्ड एक्स्सेलर और java.util.concurrent.RejectedExecutionException
private ScheduledExecutorService executor =
Executors.newSingleThreadScheduledExecutor();
और कार्य है जो हर 50 मिलीलीसेकंड बनाया गया है:
executor.scheduleAtFixedRate(myTask, 0, 50, TimeUnit.MILLISECONDS);
myTask
कभी-कभी पूरा होने में कुछ समय लगता है (जैसे 2-3 सेकंड या उससे अधिक), लेकिन newSingleThreadScheduledExecutor गारंटी देता है कि अगला निर्धारित MyTask वर्तमान तक पूरा होने तक प्रतीक्षा करेगा।
हालांकि, मुझे समय-समय पर यह त्रुटि मिलती है:
निष्पादित करें: java.util.concurrent.RejectedExecutionException
मुझे क्या करना चाहिए? धन्यवाद
कृपया क्या yyou द्वारा "समय-समय पर" मतलब के बारे में अधिक विशिष्ट हो। यह अपवाद केवल निष्पादक सेवा पर 'execute()' को कॉल करने के पल में फेंक दिया जाना चाहिए। –
वास्तव में, RejectedExecutionException executor.scheduleAtFixedRate() –
@Andrey द्वारा फेंकने योग्य है, तो आप हमें काफी अधिक जानकारी देने के लिए, अपवाद दिखा एक स्टैक ट्रेस के साथ शुरू की जरूरत है। –