He estado buscando a través del código Topshelf, y el aviso de que se está utilizando un montaje llamado 'stact.dll'. No parece haber mucha información sobre esto. Parece ser una biblioteca para crear aplicaciones simultáneas usando actores y 'canales'. Creo que el código de Topshelf es un poco difícil de seguir, pero estoy interesado en saber más sobre este estilo de programación. ¿Alguien ha tenido alguna experiencia con esta biblioteca? ¿Cómo aprendiste a usarlo?Primeros pasos con el marco stact
Respuesta
Stact la actualidad sólo se utiliza internamente realmente en este momento. Es algo que hemos construido a partir de nuestras experiencias software de escritura concurrente y sobre todo el trabajo de Chris Patterson (https://github.com/phatboyg/Stact).
El ejemplo más simple que puedo pensar que hay ahí fuera es de Cashbox. https://github.com/Cashbox/Cashbox/blob/v1.0/src/Cashbox/Engines/FileStorageEngine.cs
Tiene un canal que pasa mensajes. En un extremo de ese canal, configura las suscripciones de mensajes. La línea 72 crea las suscripciones, configurando una acción de controlador para cada tipo de mensaje que espera. El HandleOnFiber (_fiber) está obligando a todos los mensajes a ser procesados en el mismo hilo y que están en la cola como se reciben. Hay otras llamadas al administrador y es de esperar que la API sea bastante reconocible.
Ahora, este ejemplo oculta todos los canales y fibras en una clase, es posible que tenga canales que conectan diferentes clases, en cuyo caso se debe pasar una referencia al canal en cuestión.
Stact es realmente una biblioteca Actor. No hay grandes ejemplos, por el momento, de usarlo para escribir actores. Espero que esto ayude.
Gracias Travis. Veré el ejemplo de la caja y trataré de entenderlo. –
También podría querer mencionar también a Retlang: http://code.google.com/p/retlang/ –
El enlace de ejemplo está muerto –
- 1. Primeros pasos con ColdFusion?
- 2. Primeros pasos con Unity Framework
- 3. Primeros pasos con autotools
- 4. Primeros pasos con Oracle Database
- 5. Primeros pasos con sockets web
- 6. Primeros pasos con MiniTest and Rails
- 7. Primeros pasos con WiFi en Android
- 8. Primeros pasos con ActiveDirectory en C#
- 9. Primeros pasos con DSL en Java?
- 10. Primeros pasos con PHP Extension-Development
- 11. Primeros pasos con redes neuronales (ANN)?
- 12. Sync Framework with SQL DB's: Primeros pasos
- 13. Primeros pasos con Spring 3 Web MVC - Configuración de todo
- 14. Primeros pasos con macvim, cómo administrar un proyecto?
- 15. Recomendaciones para un tutorial de "Primeros pasos con Greasemonkey"
- 16. Primeros pasos con Selenium y jUnit: ¿algún buen tutorial?
- 17. Visual Studio 2008 Plug-in/Complemento de desarrollo - Primeros pasos
- 18. Primeros pasos en iOS: ¿para desarrolladores de Android?
- 19. Primeros pasos para crear transiciones de vistas personalizadas
- 20. Primeros pasos con el diseño de software utilizando MVC, OO y patrones de diseño
- 21. Primeros pasos con SLIME y SWANK: conexión Lisp cerrada inesperadamente: conexión interrumpida por un par remoto
- 22. Primeros pasos para crear un programa de arranque C simple
- 23. primeros pasos después de activar BCE primera vez
- 24. Primeros pasos con un juego basado en mosaico en Qt usando QGraphicsScene y QGraphicsView
- 25. Primeros pasos con Yabble - módulo CommonJS del lado del navegador cargando
- 26. Primeros pasos con la programación móvil. ¿Qué es una buena plataforma?
- 27. Rango de Python() con pasos negativos
- 28. Primeros Embedded con D (el lenguaje de programación)
- 29. Uso de propiedades de navegación de código marco de la entidad primeros
- 30. Saltando pasos en el trabajo de Jenkins
Esta descripción de Actor v.s. El modelado de hilos en Erlang/Scala está conceptualmente relacionado con Stact. Tal vez es útil dar algunos antecedentes. http://ruben.savanne.be/articles/concurrency-in-erlang-scala Y estas son referencias recopiladas por el propio Chris http://blog.phatboyg.com/2011/11/26/references-on-the-actor -programación-modelo/ – enix