डी

2011-09-20 11 views
9

में धागे से अधिक फाइबर मैं डी में धागे और फाइबर के साथ प्रयोग कर रहा हूं और मैं सोच रहा था कि एक अलग CPU पर फाइबर चलाने के लिए संभव है क्योंकि मुख्य धागा चल रहा है। और यदि यह मामला नहीं है तो थ्रेड पर फाइबर का उपयोग करने का क्या कारण होगा। (प्रैक्टिकल उदाहरण बहुत स्वागत है)डी

मैंने फाइबर के साथ कुछ प्रारंभिक कार्यक्रम लिखने की कोशिश की जहां मैं कुछ समय बाद अगले फाइबर पर स्विच करता हूं। हाउवर मैंने देखा कि सीपीयू उपयोग केवल एक सीपीयू पर रहता है।

डी के प्रलेखन राज्यों:

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

क्या इसका मतलब यह है कि मुझे फाइबर के लिए एक थ्रेड प्रदान करना होगा यदि मैं इसे एक अलग CPU का उपयोग करना चाहता हूं? यदि यह मामला है तो मुझे उद्देश्य नहीं दिख रहा है।

अग्रिम धन्यवाद!

उत्तर

6

यह आलेख दोनों की तुलना करने का एक बहुत अच्छा काम करता है। Getting more fiber in your diet

+0

धन्यवाद, आलेख अच्छी तरह से बताता है! –

8

फाइबर सहकारी मल्टीटास्किंग के लिए हल्के तंत्र हैं, और उनके निर्माता/कॉलर के समान थ्रेड में चलते हैं। यदि आपको किसी भिन्न CPU पर कोई कार्य चलाने की आवश्यकता है, तो थ्रेड का उपयोग करें। फाइबर का उद्देश्य कोरआउट्स जैसे पैटर्न को लागू करने के लिए तेज़ सहकारी संदर्भ स्विचिंग और तंत्र प्रदान करना है।