प्रक्रिया आणि थ्रेड दरम्यान फरक | प्रोसेस वि थ्रेड
संगणक एका वेळी एकापेक्षा जास्त क्रिया करू देण्यासाठी, प्रक्रिया आणि थ्रेड दोन्ही चांगली सेवा प्रदान करतात, परंतु त्यांच्यात ज्या प्रकारे ते कार्य करतात त्यामध्ये फरक आहे. संगणकावरील सर्व कार्यक्रम किमान एक प्रक्रिया किंवा धागा वापरतात. प्रक्रिया आणि थ्रेड प्रोसेसर्स कॉम्प्यूटरच्या संसाधनांचे वाटप करताना अनेक कार्यांमधून सहजतेने स्विच करू देतात. म्हणून उच्च कार्यप्रदर्शनासह एक प्रोसेसर बनविण्यासाठी प्रभावीपणे थ्रेड्स आणि प्रक्रिया वापरण्यासाठी प्रोग्रामरचा हे कर्तव्य आहे. थ्रेड व प्रक्रिया अंमलबजावणी उपलब्ध ऑपरेटिंग सिस्टिम नुसार वेगवेगळे आहे.
एक प्रक्रिया काय आहे?एक प्रक्रिया, सर्वसाधारणपणे, एक विशिष्ट परिणाम प्राप्त करण्यासाठी क्रियांची एक सतत श्रृंखला आहे. परंतु, संगणकांच्या जगात एक प्रक्रिया कार्यान्वित संगणक प्रोग्रामची एक घटना आहे.
दुसऱ्या शब्दांत, चालत असलेल्या संगणक प्रोग्रामच्या एकाच घटनेची कल्पना आहे. फक्त प्रक्रिया बायनरी चालविते ज्यामध्ये एक किंवा अधिक थ्रेड्स असतात. प्रक्रियेत समाविष्ट असलेल्या थ्रेडच्या संख्येनुसार, दोन प्रकारच्या प्रक्रिया असतात. ते एकल-थ्रेड प्रोसेस आणि मल्टि-थ्रेड प्रक्रिया आहेत. त्याचे नाव सुचविते म्हणून, एक सिंगल धागा प्रक्रिया ही एक प्रक्रिया आहे ज्यामध्ये केवळ एक थ्रेड आहे. म्हणूनच हा धागा एक प्रक्रिया आहे आणि तेथे केवळ एक क्रिया होत आहे.
मल्टि थ्रेड प्रक्रियेमध्ये, एकापेक्षा अधिक धागा आहेत, आणि तेथे एकापेक्षा जास्त क्रियाकलाप आहेत.
प्रक्रियेमध्ये अंमलबजावणी एक सोपा मार्ग
. एक थ्रेड प्रक्रिया म्हणून शक्तिशाली आहे कारण एखादा थ्रेड प्रक्रिया करू शकतो अशा प्रत्येक गोष्ट करू शकतो. थ्रेड हा प्रकाश-वजन प्रक्रिया असून त्याला फक्त थोड्या संसाधनांची आवश्यकता असते. थ्रेड्स वाचू शकतात आणि त्याच व्हेरिएबल्स आणि डेटा स्ट्रक्चर व्हेरिएबलवर लिहू शकतात. थ्रेड्स थ्रेड्समध्ये सहजपणे संवाद करू शकतात.
• प्रक्रिया समान पत्त्याची जागा सामायिक करीत नाहीत, परंतु त्याच प्रक्रियेमधील थ्रेड्स समान पत्त्याची जागा सामायिक करतात
• प्रक्रिया एकमेकांपासून स्वतंत्र आहेत, परंतु थ्रेड तेच परस्पर निर्भर असतात कारण ते त्याच पत्ता स्थानावर सामायिक करतात. • एक प्रक्रिया एकाधिक थ्रेड्स असू शकतात
• धागे समान पत्ता स्थान शेअर केल्यामुळे, वर्च्युअलाइज्ड मेमरी केवळ प्रक्रियांसह संबंधित आहे परंतु थ्रेडसह नाही. परंतु प्रत्येक वेगळ्या थ्रेडसह वेगळा व्हर्च्युअलाइज्ड् प्रोसेसर संबंधित आहे.
• प्रत्येक प्रक्रियेचा स्वतःचा कोड आणि डेटा असतो तर प्रक्रियांचा थ्रेड समान कोड आणि डेटा सामायिक करतात.
• प्रत्येक प्रक्रिया प्राथमिक धागासह सुरू होते, परंतु आवश्यक असल्यास ते अतिरिक्त थ्रेड तयार करू शकते.
• प्रक्रियेतील संदर्भ स्विच करणे समान प्रक्रियेच्या थ्रेड दरम्यान संदर्भ स्विचिंगपेक्षा खूपच धीमी आहे.
• थ्रेड्सचा डेटा सेगमेंटवर प्रत्यक्ष प्रवेश असू शकतो परंतु प्रक्रियांच्या डेटा सेगमेंटची त्यांची स्वतःची कॉपी असते.
• प्रक्रियेकडे ओव्हरहेड्स आहेत परंतु थ्रेड नाहीत
सारांश:
प्रक्रिया वि थ्रेड
प्रोसेसर नियंत्रित करण्यासाठी आणि संगणकावरील सूचना एक कार्यक्षम व प्रभावी पद्धतीने अंमलात आणण्यासाठी प्रक्रिया आणि थ्रेड प्रोग्रामरद्वारे वापरलेली दोन पद्धती आहेत. एका प्रक्रियेमध्ये अनेक थ्रेड असू शकतात थ्रेड्स मेमरी शेअर करण्याचा एक प्रभावी मार्ग प्रदान करतात जरी तो प्रक्रियांच्या तुलनेत अनेक फाशीची शिक्षा देते. म्हणूनच थ्रेड्स अनेक प्रक्रियांसाठी पर्याय आहेत. मल्टी-कोर प्रोसेसरच्या दिशेने वाढणारी कल, प्रोग्रामर्सच्या विश्वात थ्रेड्स हे सर्वात महत्वाचे साधन बनले जातील.
चित्रे सौजन्याने:
Mattias द्वारे mutithreading उदाहरण कॅमप (CC BY 2. 0)