मैं अपने निर्माता (1/100 एमएस मामलों के लिए) के लिए महत्वपूर्ण समय आवश्यकताओं के साथ एक मानक जावा सिस्टम पर काम कर रहा हूं।कौन सा जावा अवरोधक कतार एकल-निर्माता सिंगल-उपभोक्ता परिदृश्यों के लिए सबसे अधिक कुशल है
मेरे पास एक अवरोधक कतार में सामान रखने वाला निर्माता है, और एक उपभोक्ता बाद में उस सामान को उठा रहा है और उसे फ़ाइल में डंप कर रहा है। डेटा उपलब्ध नहीं होने पर उपभोक्ता ब्लॉक।
जाहिर है, कतार को अवरुद्ध करना उचित इंटरफ़ेस है, लेकिन अगर मैं निर्माता पर लागत को कम करना चाहता हूं तो मुझे कौन सा वास्तविक कार्यान्वयन करना चाहिए? जब मैं कतार में सामान डाल रहा हूं, तो लॉकिंग और आवंटन जैसी चीजों पर जितना संभव हो उतना छोटा खेलना चाहता हूं, और मुझे कोई फर्क नहीं पड़ता कि उपभोक्ता को बहुत अधिक इंतजार करना है या बहुत कठिन काम करना है।
क्या कोई कार्यान्वयन है जो तेजी से हो सकता है क्योंकि मेरे पास केवल एक उपभोक्ता और एकल निर्माता है?
निम्नलिखित आप रीयल-टाइम JVM खरीदने पर विचार किया था देखते हैं? इस तरह के महत्वपूर्ण समय फ्रेम प्राप्त करने में मदद करने के लिए विशेष एक्सटेंशन हैं। http://java.sun.com/javase/technologies/realtime/index.jsp –
@Rastislv: मैं मानता हूं कि आरटी जेवीएम बेहतर होगा। हालांकि, यह एक मौजूदा प्रणाली है और अधिकांश ग्राहक मानक जेवीएम का उपयोग करते हैं; मुझे न्यूनतम प्रभाव के साथ बेंचमार्किंग करने की ज़रूरत है, और मैं उन वर्गों को माप रहा हूं जो 1/100 एमएस – Uri
लेते हैं [पारंपरिक रूप से [एलएमएक्स विघटनकर्ता] (https://lmax-exchange.github.io/disruptor/) का उपयोग पारंपरिक कतार के बजाय करें। –