निम्न कोड java.lang.IllegalThreadStateException: Thread already startedतब होता है जब मैंने प्रोग्राम में दूसरी बारstart() विधि को बुलाया ।
updateUI.join();
if (!updateUI.isAlive())
updateUI.start();
ऐसा दूसरी बार updateUI.start()कहा जाता है। मैंने कई बार इसके माध्यम से कदम रखा है और धागा कहा जाता है और मारने से पहले पूरा करने के लिए चलाता है updateUI.start()।
कॉल करने updateUI.run()से त्रुटि से बचा जाता है, लेकिन थ्रेड UI थ्रेड (कॉलिंग थ्रेड, जैसा कि SO पर अन्य पोस्ट्स में उल्लिखित है) में चलने का कारण बनता है, जो कि मैं नहीं चाहता।
क्या केवल एक बार थ्रेड शुरू किया जा सकता है ? यदि मैं धागा को फिर से चलाना चाहता हूं तो मैं क्या करूं? यह विशेष थ्रेड पृष्ठभूमि में कुछ गणना कर रहा है, अगर मैं इसे थ्रेड में नहीं करता हूं तो यह यूआई थ्रेड में किया जाता है और उपयोगकर्ता के पास अनुचित रूप से लंबा इंतजार है।