Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

जावा में Thread क्लास और Runnable इंटरफेस में अंतर


इस पोस्ट में, हम इसके बीच अंतर को समझेंगे

Thread

  • यह एक क्लास है।

  • इसका उपयोग थ्रेड बनाने के लिए किया जा सकता है।

  • इसमें 'start' और 'run' जैसे कई मेथड्स हैं।

  • इसे अधिक मेमोरी स्पेस की आवश्यकता होती है।

  • प्रत्येक थ्रेड एक यूनिक ऑब्जेक्ट बनाता है और उससे जुड़ा होता है।

Runnable

  • यह एक फंक्शनल इंटरफेस है।

  • इसका उपयोग थ्रेड बनाने के लिए किया जा सकता है।

  • इसमें एक सिंगल एब्स्ट्रैक्ट मेथड 'run' है।

  • इसे कम मेमोरी स्पेस की आवश्यकता होती है।

  • जब एक क्लास 'runnable' इंटरफेस को इम्प्लीमेंट करती है, तो क्लास अन्य क्लासेस को एक्सटेंड कर सकती है।

  • मल्टीपल थ्रेड्स एक ही ऑब्जेक्ट्स को शेयर कर सकते हैं।


  1. - जावा में Wait और Sleep के बीच अंतर

    wait() - थ्रेड इस मॉनिटर का ओनरशिप छोड़ देता है और तब तक वेट करता है जब तक कोई अन्य थ्रेड notify() या notifyAll() मेथड के माध्यम से इस ऑब्जेक्ट के मॉनिटर पर वेट कर रहे थ्रेड्स को जगाता नहीं है। थ्रेड तब तक वेट करता है जब तक यह मॉनिटर का ओनरशिप फिर से प्राप्त नहीं कर लेता और एक्जीक्यूशन जारी नहीं रखत

  1. - जावा में Thread और Runnable के बीच अंतर

    थ्रेड एक्जीक्यूशन का नया थ्रेड बनाने के दो तरीके हैं। एक है Thread क्लास का सबक्लास घोषित करना। इस सबक्लास को Thread क्लास के run मेथड को ओवरराइड करना चाहिए। सबक्लास का इंस्टेंस तब एलोकेट और स्टार्ट किया जा सकता है। थ्रेड बनाने का दूसरा तरीका है Runnable इंटरफेस को इम्प्लीमेंट करने वाली क्लास घोषित

  1. - एब्स्ट्रैक्ट क्लास और इंटरफेस में अंतर

    एक एब्स्ट्रैक्ट क्लास में इंस्टेंस मेथड्स हो सकते हैं जो डिफ़ॉल्ट व्यवहार लागू करते हैं। एक इंटरफेस केवल कॉन्स्टेंट्स और इंस्टेंस मेथड्स घोषित कर सकता है, लेकिन डिफ़ॉल्ट व्यवहार लागू नहीं कर सकता और सभी मेथड्स अंतर्निहित रूप से एब्स्ट्रैक्ट होते हैं। एक इंटरफेस के सभी मेंबर्स पब्लिक होते हैं और कोई