अगर मुझे मूर्खतापूर्ण लगता है तो मुझे क्षमा करें - मैं अभी निष्पादक का उपयोग करना शुरू कर रहा हूं।जावा में निष्पादक सेवा -> निष्पादक का उपयोग करने के लिए सिंगल थ्रेड कोड को कैसे परिवर्तित करें
मैं समारोह के लिए एक नया धागा देता है, इस में धागे का उपयोग करता है एक मौजूदा जावा एप्लिकेशन manner-- मूल रूप से स्टैंडअलोन धागे
private Thread spawnThread()
{
Thread t = new Thread()
{
String taskSnap = task.toString();
public void run()
{
try
{
println(task.run(null));
}catch(InterruptedException e)
{
println("ITC - " + taskSnap + " interrupted ");
}
}
};
return t;
}
used-- कर रहे हैं आप ऊपर से देख सकते हैं की है।
अब कार्यक्रम का मुख्य() फ़ंक्शन में, एक नया धागा इस manner--
taskThread = spawnThread();
taskThread.start();
क्या मुझे क्या करना है, एक प्रबंधक सेवा बनाने चाहते हैं (धागे की निश्चित संख्या के साथ) बनाई गई है -> और उसके बाद उस नए निष्पादक को नए धागे द्वारा कार्य के नए धागे/निष्पादन के निर्माण को बंद कर दें।
जैसा कि मैं निष्पादक के लिए बहुत नया हूं, मैं क्या जानना चाहता हूं, मैं उपरोक्त कोड कैसे बदलूं ताकि एक नए अलग थ्रेड के गठन के बजाय, थ्रेड पूल के भीतर एक नया धागा बनाया जाए। मैं थ्रेड (थ्रेड पूल के भीतर) बनाने के लिए कोई कमांड नहीं देख सकता -> उपर्युक्त कार्य को उस थ्रेड पर हाथ से हटाएं (और उपरोक्त स्टैंड-अलोन थ्रेड पर नहीं)।
कृपया मुझे बताएं कि इस समस्या को कैसे हल किया जाए।
ExecutorService executor = Executors.newFixedThreadPool(nThreads);
executor.submit(new Runnable() {
String taskSnap = task.toString();
public void run() {
try {
println(task.run(null));
} catch(InterruptedException e) {
println("ITC - " + taskSnap + " interrupted ");
}
}
});
प्रस्तुत विधि प्रबंधक सेवा के भीतर धागे में से एक पर Runnable निष्पादित करेंगे:
एक रननेबल इंटरफ़ेस में अपने थ्रेड के "रन" खंड को लपेटें। एक निष्पादक बनाएँ और इसे चलाने योग्य प्रदान करें। अधिक जानकारी – MadProgrammer