Pregunta

He estado mirando a través del código Topshelf, y noté que está utilizando un ensamblaje llamado 'Stact.dll'.No parece haber mucha información sobre esto.Parece ser una biblioteca para construir aplicaciones concurrentes utilizando actores y 'canales'.Encuentro el código de Topshelf un poco difícil de seguir, pero estoy interesado en descubrir más información sobre este estilo de programación.¿Alguien ha tenido alguna experiencia con esta biblioteca?¿Cómo fue el aprendizaje de cómo usarlo?

¿Fue útil?

Solución

La estaca

actualmente solo se usa internamente en este momento. Es algo que hemos creado de nuestras experiencias escribiendo software concurrente y en su mayoría el trabajo de Chris Patterson ( https:// Github. com / phatboyg / estactar ).

El ejemplo más simple que puedo pensar en eso está fuera de la caja de efectivo. https://github.com/cashbox/cashbox /blob/v1.0/src/cashbox/engines/filestorageengine.cs

Tienes un canal que pasa mensajes. En un extremo de ese canal configuró las suscripciones de mensajes. La línea 72 construye las suscripciones, configurando una acción de controlador para cada tipo de mensaje que espera. El manillar (_fiber) está obligando a los mensajes que se procesan en el mismo hilo y se ponen en cola a medida que se reciben. Hay otras llamadas de manejo y, con suerte, la API es bastante detectable.

Ahora, este ejemplo oculta todos los canales y fibras en una clase, es posible que tenga canales que conecten diferentes clases en cuyo caso se hará que una referencia al canal en cuestión tenga que pasar.

estirado es realmente una biblioteca de actores. No hay grandes ejemplos, en este momento, de usarlo para escribir actores. Espero que esto ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top