Estoy aprendiendo, y realmente me gusta, el patrón Actor. Estoy usando Scala en este momento, pero estoy interesado en el estilo arquitectónico en general, ya que se usa en Scala, Erlang, Groovy, etc.¿Tiene sentido usar un grupo de Actores?
El caso en el que estoy pensando es en donde necesito hacer las cosas concurrentemente, como, digamos "ejecutar un trabajo".
Con roscado, me gustaría crear un grupo de subprocesos y una cola de bloqueo, y que cada sondeo de la cola de hilo de bloqueo, y procesar los trabajos a medida que entraba y salía de la cola.
Con actores, ¿cuál es la mejor manera de manejar esto? ¿Tiene sentido crear un grupo de actores, y de alguna manera enviarles mensajes conteniendo o los trabajos? ¿Quizás con un actor "coordinador"?
Nota: Un aspecto del caso, que se me olvidó mencionar fue: ¿y si quiero limitar el número de puestos de trabajo mi aplicación procesará simultáneamente? Tal vez con una configuración de configuración? Estaba pensando que un grupo podría hacer que sea más fácil hacer esto.
Gracias!
Sí, tiene sentido limitar el número de actores que trabajan en una lista de tareas. Al menos, Erlang le da suficiente concurrencia para que pueda agotar la mayoría de los recursos del sistema al generar suficientes procesos para usarlos. – Christian
He intentado reformular esta pregunta de una manera concreta, concreta y específica aquí: http://stackoverflow.com/questions/2312195/how-to-limit-concurrency-when-using-actors-in-scala –