क्या फाइबर, कोरटाइन और हरे रंग के धागों में अंतर है और यदि ऐसा है तो क्या है?


57

आज मैं इंटरनेट पर फाइबर, कोरटाइन और ग्रीन थ्रेड्स के बारे में कई लेख पढ़ रहा था, और ऐसा लगता है कि इन अवधारणाओं में बहुत आम है, लेकिन मामूली अंतर हैं, खासकर जब हम फाइबर और कोरटाइन के बारे में बात करते हैं।

क्या एक संक्षिप्त, सही सारांश है जो उन्हें एक दूसरे से अलग बनाता है?

अद्यतन: मुझे विशेष रूप से फाइबर और कोरटाइन्स के बीच अंतर करने में विशिष्ट कोरटाइन्स और फाइबर (N4024 C ++ ड्राफ्ट) दस्तावेज़ मिलते हैं

जवाबों:


106

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

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

एक ग्रीन धागा एक धागा है कि अंतर्निहित ऑपरेटिंग सिस्टम के द्वारा एक वर्चुअल मशीन (VM) के बजाय देशी रूप से निर्धारित है है। हरे रंग के धागे किसी भी मूल OS क्षमताओं पर भरोसा किए बिना बहुपरत वातावरण का अनुकरण करते हैं, और उन्हें कर्नेल स्थान के बजाय उपयोगकर्ता स्थान में प्रबंधित किया जाता है, जिससे उन्हें उन वातावरण में काम करने में सक्षम किया जाता है जिनमें मूल धागा समर्थन नहीं होता है।


13
मैं केवल अपने लिए कह सकता हूं - यह उत्तर मेरे लिए बहुत मूल्यवान है। मैं इस पर रॉबर्ट के साथ राय साझा करता हूं।
देहलीनिक

"व्यापक विषयों के सारांश विकिपीडिया की विशेषता है, जो इस सामग्री को प्रदान करने और इस पर केंद्रित संस्कृति को बढ़ावा देने पर केंद्रित है और इस तरह के सारांश प्रदान करने में सक्षम, सर्वश्रेष्ठ, सक्षम और अनुभवी व्यक्ति विकिपीडिया पर जाते हैं, स्टैक एक्सचेंज के लिए नहीं ... खोज इंजन में इसके लिए खोज करने वाले लोग आम तौर पर दो सीधे प्रतिस्पर्धी सामग्री उदाहरण प्रस्तुत करेंगे, एक एसई नेटवर्क पर, दूसरा विकिपीडिया पर ... ऊपर वर्णित कारणों के कारण, यह सबसे अधिक संभावना है कि एसई सामग्री तुलना में हीन दिखाई देगी ... "
gnat

ध्यान दें, कोरटाइन और फाइबर को काफी निकटता से संबंधित माना जा सकता है - संभवतः एक ही बात भी। यदि कोई कोरटाइन चाहता था, तो उन्हें बहुत कम प्रयास के साथ फाइबर के माध्यम से लागू किया जा सकता है, और इसके विपरीत।
cHao

9
यह नहीं समझाता कि वे कैसे भिन्न हैं। ये सभी परिभाषाएँ समतुल्य लगती हैं।
hasen

1
@gstackoverflow: जावा थ्रेड OS थ्रेड्स हैं। JVM उन्हें OS के माध्यम से शेड्यूल करता है।
रॉबर्ट हार्वे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.