जैसा कि मैं समझता हूं, रुबी 1.9 ओएस थ्रेड्स का उपयोग करता है लेकिन केवल एक थ्रेड वास्तव में एक साथ चल रहा है (हालांकि एक धागा आईओ अवरुद्ध कर रहा है जबकि एक और धागा प्रसंस्करण कर रहा है)। मैंने जो थ्रेडिंग उदाहरण देखा है, वह एक नया धागा लॉन्च करने के लिए बस Thread.new
का उपयोग करें। जावा पृष्ठभूमि से आ रहा है, मैं आमतौर पर थ्रेड पूल का उपयोग करता हूं क्योंकि वे "हेवीवेट" के बाद से कई नए धागे लॉन्च नहीं करते हैं।रूबी 1.9 थ्रेड पूल
क्या रूबी में निर्मित धागा पूल निर्माण है? मैंने डिफ़ॉल्ट भाषा पुस्तकालयों में से एक को नहीं देखा। या क्या एक मानक मणि है जिसका प्रयोग आम तौर पर किया जाता है? चूंकि ओएस स्तर थ्रेडिंग रूबी की एक नई विशेषता है, इसलिए मुझे नहीं पता कि पुस्तकालय कितने परिपक्व हैं।
धन्यवाद। मेरे पास वास्तव में उपयोग का मामला नहीं है, लेकिन जैसा कि मैं पिकैक्स बुक पढ़ रहा था, यह कुछ ऐसा था जो मुझे अनिश्चित था, लेकिन आपने स्पष्ट किया है। –
मुझे समझ में नहीं आता है कि लोगों का उल्लेख है कि रूबी रूबी में बेकार हैं क्योंकि वे एक साथ नहीं चल रहे हैं। वे वास्तव में सीपीयू बाध्य कार्यों के लिए बेकार हैं लेकिन वे किसी भी अवरुद्ध आईओ के लिए बहुत उपयोगी हो सकते हैं जो आप समानांतर में करना चाहते हैं। उदाहरण के लिए। समवर्ती HTTP अनुरोध। – Kamchatka
टिप्पणी के लिए धन्यवाद। मुझे और स्पष्टीकरण देने की जरूरत है कि रूबी में धागे बेकार नहीं हैं, सिर्फ लोगों को जीआईएल की सीमा के बारे में पता होना चाहिए क्योंकि थ्रेड ओवरहेड के बिना नहीं हैं। गैर-अवरुद्ध आईओ के लिए, एक घटना सी आधारित एसिंक्रोनस कॉल अधिक उपयुक्त हो सकती है। अधिक जानकारी के लिए http://blog.gregweber.info/posts/2011-06-16-high-performance-rb-part3 देखें। – Wulfram