वैसे यह इस बात पर निर्भर करता है कि आप कैसे संगामिति को परिभाषित करते हैं।
सर्वर-साइड सॉफ़्टवेयर में, समरूपता और समानांतरवाद को अक्सर विभिन्न अवधारणाओं के रूप में माना जाता है। एक सर्वर में, समवर्ती I / Os का समर्थन करने का मतलब है कि सर्वर केवल एक संगणना इकाई के साथ उन क्लाइंट के अनुरूप कई प्रवाह निष्पादित करके कई ग्राहकों की सेवा करने में सक्षम है। इस संदर्भ में, समानता का मतलब होगा कि सर्वर एक ही समय में (कई संगणना इकाइयों के साथ) कई चीजें करने में सक्षम है, जो अलग है।
उदाहरण के लिए, एक बारटेंडर कई ग्राहकों की देखभाल करने में सक्षम होता है, जबकि वह एक बार में केवल एक पेय तैयार कर सकता है। इसलिए वह समतावाद के बिना संगति प्रदान कर सकता है।
इस प्रश्न पर यहाँ बहस की गई है:
संगामिति और समानता के बीच अंतर क्या है?
रोब पाइक की इस प्रस्तुति को भी देखें ।
एक एकल-थ्रेडेड प्रोग्राम निश्चित रूप से I / O (डी) मल्टीप्लेक्सिंग तंत्र और एक ईवेंट लूप (जो कि Redis करता है) का उपयोग करके I / O स्तर पर संक्षिप्तता प्रदान कर सकता है।
समानांतरवाद की एक लागत है: कई सॉकेट्स / एकाधिक कोर के साथ आप आधुनिक हार्डवेयर पर पा सकते हैं, थ्रेड्स के बीच सिंक्रनाइज़ेशन बेहद महंगा है। दूसरी ओर, Redis जैसे कुशल भंडारण इंजन की अड़चन बहुत बार नेटवर्क है, सीपीयू से पहले। पृथक ईवेंट लूप (जिसके लिए कोई सिंक्रनाइज़ेशन की आवश्यकता नहीं है) इसलिए कुशल, स्केलेबल, सर्वर बनाने के लिए एक अच्छे डिज़ाइन के रूप में देखे जाते हैं।
तथ्य यह है कि रेडिस ऑपरेशन परमाणु हैं केवल एकल-थ्रेडेड इवेंट लूप का परिणाम है। दिलचस्प बात यह है कि परमाणु को बिना किसी अतिरिक्त लागत पर प्रदान किया जाता है (इसे सिंक्रनाइज़ेशन की आवश्यकता नहीं होती है)। सिंक्रनाइज़ेशन ओवरहेड के लिए भुगतान किए बिना आशावादी लॉकिंग और अन्य पैटर्न को लागू करने के लिए उपयोगकर्ता द्वारा इसका फायदा उठाया जा सकता है।