हारून पैटरसन (@tenderlove) लगभग ठीक तरह तुम्हारा वास्तव में वर्णन करने के लिए कारण है कि आप और कर सकते हैं चाहिए उपयोग धागे संगामिति अपनी स्थिति में प्राप्त करने के लिए एक उदाहरण का उपयोग करता है।
अधिकांश आई/ओ पुस्तकालय अब आईओ करते समय जीवीएल (ग्लोबल वीएम लॉक, या अधिकांश लोगों को जीआईएल या ग्लोबल इंटरप्रेटर लॉक के रूप में जानते हैं) को छोड़ने के लिए पर्याप्त स्मार्ट हैं। ऐसा करने के लिए सी में एक साधारण फ़ंक्शन कॉल है। आपको सी कोड के बारे में चिंता करने की ज़रूरत नहीं है, लेकिन आपके लिए इसका मतलब है कि उनके नमक के लायक अधिकांश आईओ पुस्तकालय जीवीएल जारी करने जा रहे हैं और अन्य धागे को निष्पादित करने की इजाजत दे रहे हैं जबकि आईओओ करने वाले धागे डेटा को वापस लौटने की प्रतीक्षा कर रहे हैं ।
यदि मैंने अभी जो कहा वह भ्रमित था, तो आपको इसके बारे में चिंता करने की आवश्यकता नहीं है। मुख्य बात यह है कि आपको यह जानने की जरूरत है कि यदि आप अपने HTTP अनुरोध (या उस मामले के लिए किसी अन्य I/O ऑपरेशन ... डेटाबेस, इंटरप्रोसेस संचार, जो कुछ भी) करने के लिए एक सभ्य पुस्तकालय का उपयोग कर रहे हैं, रूबी दुभाषिया (एमआरआई) दुभाषिया पर ताला जारी करने में सक्षम होने के लिए पर्याप्त स्मार्ट है और अन्य धागे को निष्पादित करने की इजाजत देता है जबकि एक धागा आईओ वापस लौटने की प्रतीक्षा करता है। यदि अगले धागे के पास अपना खुद का आईओ है, तो रूबी दुभाषिया वही काम करेगा (मानते हुए कि आईओ लाइब्रेरी रूबी की इस सुविधा का उपयोग करने के लिए बनाई गई है, जो मुझे विश्वास है कि ज्यादातर लोग इन दिनों हैं)।
तो, मैं जो कह रहा हूं उसे जोड़ने के लिए, धागे का उपयोग करें! आपको प्रदर्शन लाभ देखना चाहिए। यदि नहीं, तो यह देखने के लिए जांचें कि क्या आपकी http लाइब्रेरी सी में rb_thread_blocking_region() फ़ंक्शन का उपयोग कर रही है और यदि नहीं, तो पता लगाएं कि क्यों नहीं। शायद एक अच्छा कारण है, शायद आपको एक बेहतर पुस्तकालय का उपयोग करने पर विचार करने की आवश्यकता है।
हारून पैटरसन वीडियो के लिए लिंक यहाँ है: http://www.youtube.com/watch?v=kufXhNkm5WU
यह किसी दृश्य के लायक है, भले ही बस हंसते हुए के लिए, के रूप में हारून पैटरसन इंटरनेट पर सबसे मजेदार लोगों से एक है।
स्रोत
2013-04-24 20:57:39
तो, क्या कोई खुद फाइबर पर टिप्पणी कर सकता है? क्या मैं यह मानने में सही हूं कि फाइबर के पास "पृष्ठभूमि में सामान नहीं है" शक्तियां हैं? –