मैं जिज्ञासा से यह पूछ रहा हूं।मैक ओएस विंडोज फाइबर एपीआई के बराबर है?
विंडोज़ उन्हें Fibers API पर कॉल करता है, जो हल्के उपयोगकर्ता प्रक्रियाओं/धागे के लिए एक एपीआई है।
मुझे यह जानने में दिलचस्पी थी कि मैक ओएस ऐसी सुविधाएं भी प्रदान करता है या नहीं। जहां तक मैं पता लगा सकता हूं, निकटतम यूनिक्स इसके समतुल्य setcontext
कार्यों का परिवार होगा। हालांकि, मैक प्रोग्राम पर ऐसे एपीआई को कॉल करने का प्रयास चेतावनी उत्पन्न करता है कि ओएसएक्स 10.6 के बाद से कार्यों को हटा दिया गया है। साथ ही, जब मैं उपरोक्त विकिपीडिया लिंक में प्रदान किए गए उदाहरण को संकलित और चलाने का प्रयास करता हूं, तो मुझे पहले swapcontext
पर मेरी मशीन पर एक सीजी गलती मिलती है।
तो स्पष्ट रूप से setcontext
एपीआई मैक के लिए कोई नहीं है। कम से कम अब नहीं। क्या मैक ओएस पर लाइटवेट उपयोगकर्ता-साइड थ्रेड प्राप्त करने का कोई और तरीका है? क्या सिस्टम ऐसी कार्यक्षमता प्रदान करता है?
क्या आपने ग्रैंड सेंट्रल डिस्पैच देखा है? –
@ScottHunter, मुझे कुछ जीसीडी ढांचे के बारे में पता है। लेकिन क्या यह उदाहरण के लिए मैन्युअल रूप से काम के धागे के बीच स्विचिंग की अनुमति देता है, जैसे कि यह फाइबर के साथ है? मुझे नहीं लगता कि जीसीडी को उपयोगकर्ता-पक्ष धागे के बराबर माना जा सकता है ... – glampert
मैं मैक ओएस सेटकॉन्टेक्स्ट() को बहुत तेज़ी से छोड़ना नहीं चाहूंगा ... बहिष्कृत कार्य आमतौर पर अभी भी काम करते हैं; वे भविष्य में ओएस रिलीज में समर्थित होने की गारंटी नहीं देते हैं। तो यह MacOS के तहत काम कर रहे setcontext() को पाने के लिए कुछ विवरण tweaking सिर्फ एक मामला हो सकता है। –