टारनटूल में, तंतुओं का उपयोग किया जाता है जब लुआ कोड लेखक टारनटूल को निष्पादन को शेड्यूल करना चाहता है? सह-रूटीन (टारनटूल/लुआजिट प्रक्रिया में) का उपयोग किया जाता है जब लुआ कोड लेखक निष्पादन के नियंत्रण में होना चाहता है?फाइबर का उपयोग कब करें और टारनटूल में सह-दिनचर्या का उपयोग कब करें?
उत्तर
टारनटूल में, फाइबर कोरआउट के समानार्थी होते हैं। फाइबर टारनटूल I/O आदि के लिए अधिक एकीकृत हैं, आपको लुआ कोरौटाइन के बजाय उनका उपयोग करना चाहिए। हमारा सुझाव है कि आप हमेशा लुआ कोरौटाइन की बजाय हमारे फाइबर का उपयोग करें, क्योंकि वे अधिक शक्तिशाली हैं। हमारे पूरे आई/ओ ढेर उन लोगों के साथ एकीकृत है: सॉकेट, फ़ाइलें, net.box, mysql, PostgreSQL, आदि
डॉक्स के लिए लिंक: http://tarantool.org/doc/reference/fiber.html
कुछ कार्यों कि coroutines लिए इस्तेमाल किया जा सकता है, की तरह हैं iterators। यह एक साथ कोरआउट और फाइबर दोनों का उपयोग करने के लिए पूरी तरह से मान्य है लेकिन इससे भ्रम पैदा हो सकता है। Coroutine उपज एक कुख्यात attempt to yield across C-call boundary
के साथ विफल हो सकता है, जबकि फाइबर इस स्थिति में काम करते हैं।
शीघ्र उत्तर के लिए धन्यवाद। –
क्या कोई अन्य नकारात्मक दुष्प्रभाव देखने के लिए हैं? – aleclarson
फाइबर स्टैक एक कोरआउटिन से बड़ा है। यह 64 केबी के लिए mmapped है, और कम से कम एक ओएस पेज (आमतौर पर 4 केबी) है। फाइबर संदर्भ स्विचिंग अतिरिक्त ओवरहेड में पड़ता है, क्योंकि यह कोरआउटिन को छिपाने/बहाल करने के अलावा रजिस्टरों को छुपाता/पुनर्स्थापित करता है। फाइबर संदर्भ स्विच लुआजिट में जेआईटी तोड़ता है, क्योंकि लुजाज ट्रेस किए गए निष्पादन को छुपा/बहाल करने में सक्षम नहीं है। कोरआउट के विपरीत, फाइबर सभी गैर-अवरुद्ध आईओ के साथ अच्छी तरह से काम करते हैं जो अनुप्रयोग सर्वर में बनाया गया है: जब भी एक फाइबर आईओ कॉल पर अंतर्निहित रूप से पैदा होता है, तो दूसरा फाइबर अंदर आ जाता है। लेकिन एक अन्य कोरआउटिन नहीं, निश्चित रूप से, आपको देखभाल करना होगा यदि आप उनका उपयोग कर रहे हैं तो यह स्वयं का है।
- 1. QueueUserAPC() का उपयोग कब करें?
- 2. ट्यूपल का उपयोग कब और कब करें?
- 3. टैग/लेबल का उपयोग कब करें और शाखा कब करें?
- 4. क्लोजर में "अगर" और "कब" का उपयोग कब करें?
- 5. हाइबरनेट फ़ेचिंग रणनीति - "शामिल" का उपयोग कब करें और "चयन करें" का उपयोग कब करें?
- 6. isInstanceOf का उपयोग कब करें और मैच-केस-स्टेटमेंट (स्कैला में) का उपयोग कब करें?
- 7. डुप्ली का उपयोग कब करें, और रूबी में क्लोन का उपयोग कब करें?
- 8. घटकों का उपयोग कब करें और वाईआई में एक्सटेंशन का उपयोग कब करें?
- 9. वेक्टर का उपयोग कब करें और सी ++ में सरणी का उपयोग कब करें?
- 10. reinterpret_cast का उपयोग कब करें?
- 11. FOUNDATION_EXPORT का उपयोग कब करें?
- 12. Request.RegisterForDispose का उपयोग कब करें?
- 13. Q_NULLPTR का उपयोग कब करें?
- 14. Mockito.verify() का उपयोग कब करें?
- 15. का उपयोग कब करें hibernate.connection.provider_class
- 16. TaskCreationOptions.LongRunning का उपयोग कब करें?
- 17. $ .extend ({...}) का उपयोग कब करें?
- 18. कीवर्ड का उपयोग कब करें
- 19. range.value का उपयोग कब करें?
- 20. ओपनसीएल का उपयोग कब करें?
- 21. ko.utils.unwrapObservable का उपयोग कब करें?
- 22. फ़िल्टर_इनपुट का उपयोग कब करें()
- 23. "हटाएं" का उपयोग कब करें?
- 24. मल्टीथ्रेड का उपयोग कब करें?
- 25. $ बनाम # का उपयोग कब करें?
- 26. [MTAThread] का उपयोग कब करें?
- 27. "window.onload" का उपयोग कब करें?
- 28. स्ट्रिंगबिल्डर का उपयोग कब करें?
- 29. "^" ऑपरेटर का उपयोग कब करें
- 30. Jquery - "यह" कब उपयोग करें और "$ (यह)" कब उपयोग करें?
टारनटूल में, फाइबर कोरआउट के समानार्थी होते हैं। हमारा सुझाव है कि आप हमेशा लुआ कोरौटाइन की बजाय हमारे फाइबर का उपयोग करें, क्योंकि वे अधिक शक्तिशाली हैं। हमारा पूरा I/O स्टैक उनके साथ एकीकृत है: सॉकेट, फाइलें, net.box, mysql, postgresql, आदि – Kostja
कुछ ऐसे कार्य हैं जो कोररेटिन का उपयोग इटरेटर की तरह किया जा सकता है। यह एक साथ कोरआउट और फाइबर दोनों का उपयोग करने के लिए पूरी तरह से मान्य है लेकिन इससे भ्रम पैदा हो सकता है। कोरोटाइन उपज सी-कॉल सीमा पार करने के लिए एक कुख्यात 'प्रयास के साथ असफल हो सकती है, जबकि फाइबर इस स्थिति में काम करते हैं। –