سؤال

لقد كنت أبحث من خلال رمز Topshelf، ولاحظ أنه يستخدم تجميع يسمى 'stact.dll'.لا يبدو أن هناك الكثير من المعلومات حولها.يبدو أنه مكتبة لبناء تطبيقات متزامنة باستخدام الجهات الفاعلة و "القنوات".أجد رمز Topshelf يصعب اتباعه، لكنني مهتم بإيجاد المزيد حول هذا النمط للبرمجة.هل كان لدى أي شخص أي تجربة مع هذه المكتبة؟كيف ذهبت حول تعلم كيفية استخدامها؟

هل كانت مفيدة؟

المحلول

بشراسة فقط تستخدم فقط داخليا في الوقت الحالي. إنه شيء لقد تراكمناه من تجاربنا في كتابة البرامج المتزامنة ومعظم عمل كريس باترسون ( https:// github. com / phatboyg / stact ).

أبسط مثال يمكنني التفكير في ذلك موجود من صندوق النقدي. https://github.com/cashbox/cashbox /blob/v1.0/src/cashbox/engines/filestorageengine.cs

لديك قناة تقوم بتمرير الرسائل. في نهاية واحدة من تلك القناة، قمت بإعداد اشتراكات الرسائل. يبني السطر 72 الاشتراكات، مما يعطر عمل معالج لكل نوع رسالة يتوقعه. يجبر المقود (_fiber) على معالجة جميع الرسائل المراد معالجتها على نفس الخيط وهي قائمة في قائمة الانتظار عند استلامها. هناك مكالمات مقبض أخرى ونأمل أن يتم اكتشاف API إلى حد ما.

الآن يخفي هذا المثال جميع القنوات والألياف في فئة واحدة، قد يكون لديك قنوات توصيل فئات مختلفة في هذه الحالة يجب مرحلة الإشارة إلى القناة المعنية التي يجب تمريرها.

سلطة هو حقا مكتبة ممثلة. لا توجد أمثلة رائعة، في الوقت الحالي، من استخدامها لكتابة الممثلين. آمل أن يساعد هذا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top