2010-03-11 17 views
5

जावा में धागा बनाते समय, दो तरीके हैं जैसे थ्रेड्स को विस्तारित करना और रननेबल इंटरफेस लागू करना। मुझे पता नहीं है कि धागे बनाने का बेहतर तरीका कौन सा है?जावा धागा जो बेहतर तरीका है?

+1

यहाँ संबंधित है चर्चा http://stackoverflow.com/questions/541487/java-implements-runnable-vs-extends-thread – Roman

+0

@Roman: अपने लिंक के लिए धन्यवाद .. – Venkat

उत्तर

3

मोटे तौर पर, रननेबल को लागू करना काफी बेहतर है क्योंकि यह संभावित रूप से थ्रेड पूल और निष्पादन कतार का उपयोग करने की अनुमति देता है जिसे आप थ्रेड के साथ उपयोग नहीं कर सकते हैं, इसके अलावा स्पष्ट तथ्य यह है कि आपका थ्रेड नंबर JVM में सीमित है।

1

रननेबल लागू करना बेहतर है। जोश ब्लोच ने इसे प्रभावी जावा के संवाददाता अध्याय में शामिल किया।

+1

शीर्ष मंशा सूची चोट नहीं होगा यहां, पोस्टर को इस सलाह का अंधाधुंध पालन करने के बजाय (यहां तक ​​कि जितना मैं पुस्तक से सहमत हूं) – Tim

+1

@Tim: http://www.google.com/search?hl=hi&q=implement+runnable+vs+extend+ धागा और aq = 0 और AQI = g3g-एम 2 और AQL = & OQ = लागू + runnable + – Roman

2

इंटरफ़ेस को कार्यान्वित करना बेहतर माना जाता है, लेकिन थ्रेड के लिए विशिष्ट कुछ भी नहीं। सामान्य रूप से एक इंटरफेस को लागू करने से आपका कोड अधिक लचीलापन देता है क्योंकि आप कई इंटरफेस को कार्यान्वित कर सकते हैं लेकिन केवल एक वर्ग का विस्तार कर सकते हैं। मान लीजिए कि आप एक और सुपर क्लास का विस्तार करना चाहते हैं और एक ही समय में धागा बनाना चाहते हैं?

संबंधित मुद्दे