प्रक्रिया और थ्रेड के बीच का अंतर | प्रक्रिया बनाम थ्रेड

Anonim

प्रक्रिया बनाम थ्रेड

कंप्यूटर को एक समय में एक से अधिक गतिविधि करने देने के लिए, प्रक्रिया और धागा दोनों एक अच्छी सेवा प्रदान करते हैं, लेकिन उनके काम में उनके बीच अंतर है। कंप्यूटर पर चलने वाले सभी कार्यक्रम कम से कम एक प्रक्रिया या धागे का उपयोग करते हैं। प्रक्रिया और धागा कंप्यूटर के संसाधनों को बांटने के दौरान प्रोसेसर को कई कार्यों में आसानी से स्विच करने देता है। तो यह एक प्रोग्रामर का कर्तव्य है कि उच्च प्रदर्शन के साथ एक प्रोसेसर बनाने के लिए एक प्रभावी तरीके से धागे और प्रक्रियाओं का उपयोग किया जाए। उपलब्ध ऑपरेटिंग सिस्टम के अनुसार धागे और प्रक्रियाओं के कार्यान्वयन अलग हैं

एक प्रक्रिया क्या है?

एक प्रक्रिया, सामान्य रूप से, एक विशिष्ट परिणाम प्राप्त करने के लिए एक सतत श्रृंखला की कार्रवाई होती है। लेकिन, कंप्यूटर की दुनिया में, एक प्रक्रिया

एक निष्पादन कंप्यूटर प्रोग्राम का एक उदाहरण है दूसरे शब्दों में, यह एक चल कंप्यूटर प्रोग्राम की एक घटना का विचार है बस प्रक्रियाएं एक या अधिक धागे वाली बायनेरिज़ चला रही हैं। प्रक्रिया में शामिल थ्रेड्स की संख्या के अनुसार, दो प्रकार की प्रक्रियाएं हैं वे सिंगल धागे प्रक्रियाओं और बहु ​​धागा प्रक्रियाएं हैं जैसा कि इसका नाम बताता है, एक

एकल धागा प्रक्रिया एक प्रक्रिया है जिसमें केवल एक धागा है इसलिए, यह धागा एक प्रक्रिया है, और केवल एक ही गतिविधि हो रही है। एक बहु धागा प्रक्रिया में, एक से अधिक धागे हैं, और एक से अधिक गतिविधि जो हो रही है

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

एक थ्रेड क्या है?

आईटी की दुनिया में, एक धागा टी वह कंप्यूटर प्रोग्राम के निर्देशों का सबसे छोटा आदेश है

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

आज बहु-थ्रेडिंग कई समस्याओं के लिए एक प्राकृतिक दृष्टिकोण बन गया है। एक बड़ा काम भागों में विभाजित है और उनमें से प्रत्येक को निष्पादन की एक इकाई को सौंपा जाता है जिसे धागे कहा जाता है। यह केवल मल्टी-थ्रेडिंग हैइसके लिए सावधानीपूर्ण प्रोग्रामिंग की आवश्यकता होती है क्योंकि थ्रेड डेटा स्ट्रक्चर्स को साझा करते हैं जो किसी समय में किसी अन्य थ्रेड द्वारा संशोधित होते हैं और यह भी क्योंकि थ्रेड्स समान पता स्थान साझा करते हैं। धागे का एक और फायदा यह है कि धागे समानतावाद को प्राप्त करने का एक प्रभावी और प्रभावी तरीका प्रदान करते हैं। कई थ्रेड्स एकाधिक प्रोसेसरों पर चलने से सिस्टम की एक थ्रूपुट बढ़ाया जा सकता है क्योंकि धागा एक स्वतंत्र रूप से अनुसूचित इकाई है।

मुत्री-थ्रेडिंग

प्रक्रिया और थ्रेड के बीच अंतर क्या है?

प्रक्रियाओं को बनाना मुश्किल है क्योंकि इसे मूल प्रक्रिया और स्मृति आवंटन के दोहराव की जरूरत है, जबकि थ्रेड बनाने के लिए आसान है क्योंकि उन्हें अलग पता स्थान की आवश्यकता नहीं है।

• सामान्य कार्यों के लिए थ्रेड्स का उपयोग किया जाता है, जबकि प्रक्रियाएं भारी-भार वाले कार्यों के लिए उपयोग की जाती हैं जैसे कि किसी एप्लिकेशन के निष्पादन।

प्रक्रियाएं समान पते की जगह नहीं साझा करती हैं, लेकिन समान प्रक्रिया के भीतर धागे एक ही पता स्थान साझा करते हैं

प्रक्रियाएं एक-दूसरे से स्वतंत्र हैं, लेकिन थ्रेड अंतर-निर्भर होते हैं क्योंकि वे समान पते की जगह साझा करते हैं।

• एक प्रक्रिया में एकाधिक थ्रेड शामिल हो सकते हैं

• चूंकि धागे समान पता स्थान साझा करते हैं, वर्चुअलाइज्ड मेमोरी केवल प्रक्रियाओं से जुड़ी होती है लेकिन धागे के साथ नहीं। लेकिन एक अलग वर्चुअलाइज्ड प्रोसेसर प्रत्येक थ्रेड के साथ जुड़ा हुआ है।

• प्रत्येक प्रक्रिया का अपना कोड और डेटा होता है जबकि प्रक्रियाओं के सूत्र समान कोड और डेटा साझा करते हैं।

• हर प्रक्रिया प्राथमिक धागा से शुरू होती है, लेकिन यदि आवश्यक हो तो यह अतिरिक्त धागे बना सकता है

• प्रक्रियाओं के बीच संदर्भ स्विचिंग समान प्रक्रिया के थ्रेड के बीच संदर्भ स्विचिंग की तुलना में बहुत धीमी है

• थ्रेडों के डेटा सेगमेंट तक सीधी पहुंच हो सकती है, लेकिन प्रक्रियाओं की डेटा सेगमेंट की अपनी प्रति है।

• प्रक्रियाएं ओवरहेड्स हैं लेकिन थ्रेड्स नहीं हैं

सारांश:

प्रक्रिया बनाम थ्रेड

प्रक्रिया और धागा प्रोसेसर को नियंत्रित करने के लिए प्रोग्रामर्स द्वारा उपयोग की जाने वाली दो तकनीकों और एक कुशल और प्रभावी ढंग से कंप्यूटर पर निर्देशों का निष्पादन। एक प्रक्रिया में कई धागे शामिल हो सकते हैं धागे स्मृति को साझा करने के लिए एक कारगर तरीका प्रदान करते हैं, हालांकि यह प्रक्रियाओं की तुलना में बहुत अधिक निष्पादन करता है। इसलिए, थ्रेड्स कई प्रक्रियाओं के लिए एक विकल्प हैं। बहु-कोर प्रोसेसर की ओर बढ़ती प्रवृत्ति के साथ, प्रोग्रामर्स की दुनिया में थ्रेड्स सबसे महत्वपूर्ण उपकरण बन जाएंगे।

छवियां सौजन्य:

मैटिअस द्वारा लिखित रूप में उल्लिखित उदाहरण। कैमप (सीसी द्वारा 2. 0)