क्या हो सकती है स्विंग वर्कर थ्रेड की संख्या पर ऊपरी सीमा है जिसे चलाया जा सकता है या यह स्मृति की सहायता के समान है? यह कॉन्फ़िगर करने योग्य कहीं भी है?स्विंग वर्कर थ्रेड की अधिकतम संख्या
उत्तर
ए SwingWorker
एक धागा नहीं है बल्कि एक कार्य है जो थ्रेड में निष्पादित किया जाएगा। आमतौर पर, SwingWorker
के उदाहरण निष्पादित करने के लिए आप ExecutorService
का उपयोग करेंगे; , अब
int n = 20; // Maximum number of threads
ExecutorService threadPool = Executors.newFixedThreadPool(n);
SwingWorker w; //don't forget to initialize
threadPool.submit(w);
यदि आप सबमिट एन की तुलना में अधिक SwingWorker
उदाहरणों, वे कतार और जब तक पूल से एक धागा उपलब्ध हो जाता है इंतज़ार करना होगा: इस इंटरफेस भी धागे की संख्या निर्धारित करने की अनुमति देता है।
तो आप सैद्धांतिक रूप से कह रहे हैं कि मैं स्विंग वर्कर कार्यों की किसी भी संख्या को चला सकता हूं बशर्ते मैं उनमें से प्रत्येक के लिए अलग-अलग धागे चलाएं। –
सिद्धांत रूप में हां; निश्चित रूप से कंप्यूटिंग पावर एक मुद्दा होगा। – mort
उम .... क्या? तुम यह क्यों करोगे? स्विंगवर्कर का अपना पूल है जो 10 आकार के लिए डिफ़ॉल्ट है, और जब आप 'स्विंगवर्कर # निष्पादन()' का आह्वान करते हैं तो यह कार्य को शेड्यूल करता है। 'इस स्विंगवर्कर को वर्कर थ्रेड पर निष्पादन के लिए शेड्यूल करता है। कई कार्यकर्ता धागे उपलब्ध हैं। ': Https://docs.oracle.com/javase/7/docs/api/javax/swing/SwingWorker.html#execute() ... ऐसा करने से आप पुनः आविष्कार कर रहे हैं पहिया। 'स्विंगवर्कर' एक उपयोगिता थी जिसे आपको ऐसा नहीं करना पड़ेगा। ऐसा करने का एकमात्र कारण यह है कि यदि 10 का डिफ़ॉल्ट पूल आकार बहुत छोटा था, और उस बिंदु पर आप कच्चे 'रननेबल' – searchengine27
final int corePoolSize = 100;
final int maximumPoolSize = 100;
final long keepAliveTime = 100000;
final TimeUnit unit = TimeUnit.SECONDS;
final BlockingQueue<Runnable> workQueue = new ArrayBlockingQueue<>(maximumPoolSize);
sun.awt.AppContext.getAppContext().put(SwingWorker.class,
new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue));
उपर्युक्त कोड नमूना आपको स्विंगवर्क्सर्स की डिफ़ॉल्ट संख्या से अधिक निष्पादित करने की अनुमति देगा। बेशक यह कुछ पिछवाड़े sun.awt.AppContext क्लास तक पहुंच रहा है, लेकिन यह रुचि रखने वालों के लिए एक त्वरित कामकाज है, और अपने स्वयं के निष्पादक सेवा प्रदान करने में सक्षम/तैयार नहीं है।
- 1. स्विंग वर्कर थ्रेड समवर्ती नहीं
- 2. जावा स्विंग वर्कर थ्रेड ईडीटी
- 3. स्विंग वर्कर
- 4. ओपनएसएसएल कनेक्शन की अधिकतम संख्या
- 5. थ्रेड की अधिकतम संख्या जिसे एक एकल CUDA कर्नेल
- 6. जावा थ्रेड की अधिकतम संख्या पर बहुत सीमित है?
- 7. एकाधिक वर्कर थ्रेड (.NET)
- 8. जावा में वर्कर थ्रेड
- 9. बैश तर्कों की अधिकतम संख्या! = अधिकतम संख्या सीपी तर्क?
- 10. अक्षरों की अधिकतम संख्या स्ट्रिंगबिल्डर
- 11. जेएमटर अधिकतम। थ्रेड सीमा
- 12. संख्या वीएस वर्कर (2) प्राथमिक कुंजी
- 13. एसक्यूएल सर्वर प्रबंधन स्टूडियो फ़ील्ड वर्कर (अधिकतम)
- 14. वर्कर (अधिकतम) एमएस एसक्यूएल सर्वर 2000, समस्याएं?
- 15. PHP फ़ंक्शंस - तर्कों की अधिकतम संख्या
- 16. विंडोज़ में ड्राइव की अधिकतम संख्या?
- 17. क्या गिट स्टैश की अधिकतम संख्या है?
- 18. आईफोन और नोटिफिकेशन: अधिसूचनाओं की अधिकतम संख्या?
- 19. एसक्यूएल डिलीट - पंक्तियों की अधिकतम संख्या
- 20. जावा सरणी में आयामों की अधिकतम संख्या
- 21. सहायता: अधिकतम ग्राहकों की संख्या - सेगमेंटेशन गलती
- 22. जेनकींस - समवर्ती नौकरियों की अधिकतम संख्या
- 23. क्या स्विंग वर्कर थ्रेड के बाहर एक मॉडल को बदलना ठीक है?
- 24. सीएलआर वर्कर थ्रेड और वर्कर थ्रेड के बीच क्या अंतर है?
- 25. थ्रेड पूल में सक्रिय थ्रेड संख्या
- 26. एक वर्कर थ्रेड के साथ डब्ल्यूसीएफ सेवा?
- 27. मास्टर/वर्कर थ्रेड और सिग्नल हैंडलिंग
- 28. एंड्रॉइड - वर्कर थ्रेड से यूई थ्रेड को कॉल करना
- 29. अधिकतम 2 संख्या
- 30. अधिकतम संख्या खोजें। ग्राफ
मुझे लगता है कि स्विंगवर्कर्स के साथ एक भ्रमित बिंदु यह है कि SwingWorker.execute() विधि श्रमिकों को एक डिफ़ॉल्ट/निजी थ्रेड पूल पर चलाती है, जो कुछ कम संख्या में धागे के लिए तय होती है। यह छोटे/सरल ऐप्स के लिए पर्याप्त और उचित है। हालांकि, समेकन पर अधिक नियंत्रण पाने के लिए दो अवलोकन करें: 1. स्विंगवर्कर्स रननेबल फ्यूचर्स 2. स्विंगवर्कर्स को स्विंगवर्कर.एक्सक्यूट() विधि को कॉल करके चलाने की ज़रूरत नहीं है। तो, बस अपनी जरूरतों के लिए कॉन्फ़िगर किया गया अपना खुद का थ्रेड पूल (एक्जिक्यूटोर सर्विस) बनाएं, और उसके बाद सबमिट करें() या निष्पादित करें() स्विंगवर्कर्स। –