मैं अब with-k महीने से रोजाना अक्का के साथ काम कर रहा हूं। जब मैंने शुरू किया, तो मैं अनुप्रयोगों और नोटिस पर काम कर रहा था कि ज्यादातर वस्तुओं के बीच संवाद स्थापित करने के लिए अभिनेता प्रणाली के अंदर एक बार कहीं भी अभिनेताओं का उपयोग किया जाएगा। तो मैंने ऐसा ही किया - x / y / z के लिए किसी अन्य अभिनेता को स्पिन करें।
यह मुझे लगता है कि यह बहुत अंधाधुंध हो सकता है, जहां जटिलता की आवश्यकता नहीं है - लेकिन मुझे इस बात पर कोई चर्चा नहीं मिल सकती है कि अभिनेताओं बनाम सादे तुल्यकालिक या यहां तक कि वायदा के माध्यम से async तर्क का उपयोग कैसे किया जाना चाहिए। अपने सहकर्मी द्वारा कुछ इसी तरह का उल्लेख किए जाने के बाद मैंने अपने रुख पर विचार करना शुरू कर दिया। मुझे हाल ही में कई मामलों का एहसास हुआ, जहां मैंने एक कार्य को टाल दिया है और फिर एक और अभिनेता बनाने से परहेज किया है क्योंकि मैं एक अपरिवर्तनीय कार्यान्वयन में सुरक्षित रूप से एक ही परिणाम प्राप्त कर सकता हूं - जैसे कि एक db या फ़ाइल से कॉन्फ़िगरेशन मान प्राप्त करना कुछ ऐसा है जहां आप बहुत ही अनपेक्षित रूप से और इच्छा से पहुंचते हैं परिणाम की प्रतीक्षा वास्तविक उपयोग का मामला है।
विशेष रूप से, यह मुझे लगता है कि कोई भी मामला जहां आप अपरिवर्तनीय स्थिति के साथ खेल रहे हैं, अभिनेता जटिलता पैदा करते हैं और थ्रूपुट को सीमित करते हैं - एक वस्तु में एक शुद्ध कार्य, उदाहरण के लिए, समवर्ती के किसी भी स्तर के साथ बिना किसी जोखिम के समवर्ती कहा जा सकता है, अभी तक एक अभिनेता एक समय में केवल एक संदेश संसाधित कर सकता है। वैकल्पिक विचार यह है कि आप थ्रेड को पार्क करेंगे यदि आपको परिणाम का इंतजार करने की आवश्यकता है जब तक कि आप वायदा का उपयोग करना शुरू नहीं करते हैं, लेकिन ऐसे मामलों में जहां आपको async संदेश या स्केल के बारे में चिंता करने की आवश्यकता नहीं है, ऐसा लगता है कि यह एक अभिनेता को नियोजित करने में ओवरकिल हो सकता है।
तो मेरा सवाल है - क्या अभिनेताओं का उपयोग करने का कोई बुरा समय है? मैं उत्सुक हूं कि एरलांग कैसा दिखता है और वास्तव में अन्य लोगों की अंतर्दृष्टि को पसंद करेगा। या अगर अभिनेता के उपयोग के आसपास कुछ सिद्धांत हैं।
ask
एक अभिनेता के बीच व्यापार-नापसंद क्या है और सिर्फ एक सादे का उपयोग करके Future
।