Tengo un montón de ejecutables que quiero ejecutar en varios subprocesos y algunos dependen de otros para completarse antes de que comiencen. Escribí una utilidad simple para hacer esto, pero ¿hay una biblioteca que ya brinde esta capacidad?¿Existe una biblioteca java para programar ejecutables dependientes (dada en un DAG de dependencia)?
¿Existe una biblioteca java para programar ejecutables dependientes (dada en un DAG de dependencia)?
Respuesta
Puede utilizar un CountDownLatch para coordinar las actividades de las discusiones
Respuesta útil, aunque no proporciona una API sencilla para ejecutar tareas dependientes. – jonderry
Esto parece un problema bastante simple que rodar su propio sistema no sería tan malo (y cualquier otra biblioteca va a ser exagerada). Lo implementaría teniendo una clase que actúa como un "nodo": envuelve Runnable, y conoce sus dependencias y dependientes, y también tiene un 'CountDownLatch' para la coordinación. Luego, otra clase para tomar un montón de estos, calcular un total de pedidos sobre ellos, y alimentarlos a un Ejecutor en ese orden (para evitar un punto muerto). –
"algunos dependen de otros para completar antes de que comiencen".
Supongo que esto significa que algunas tareas usan resultados de otras tareas como argumentos de entrada. Si es así, busque "flujo de datos java" o "flujo de trabajo java".
Si los argumentos de entrada para cada tarea se pueden representar con una única cola secuencial, este tipo especial de flujo de datos se conoce como "modelo Actor", por lo que busque "java actor library or framework".
En particular, un proyecto de código abierto mío df4j es compatible tanto con el flujo de datos como con los estilos de actor.
- 1. programar tareas ejecutables en java
- 2. Visualización de un DAG
- 3. ¿Existe una biblioteca de cliente CalDAV para Java?
- 4. Biblioteca para programar Árboles sintácticos abstractos en Python
- 5. ¿Cómo se especifica una dependencia de archivo de biblioteca para qmake en Qt?
- 6. Ejecutando tareas Dependientes en paralelo en Java
- 7. ¿Existe una buena herramienta de análisis de dependencia para Python?
- 8. ¿Cómo programar una tarea periódica en Java?
- 9. dibujar un gráfico de dependencia para una clase java
- 10. ¿Cómo programar un modo de pantalla completa en Java?
- 11. Paquete Dependencia
- 12. Uso de la inyección de dependencia en una biblioteca
- 13. ¿Existe una biblioteca de programación funcional para .NET?
- 14. Invertir una oración dada en Java
- 15. Mantener una biblioteca libre de dependencia
- 16. Cómo programar un simple secuenciador de música para Android (Java)
- 17. Comprobar si un elemento de una matriz existe en parte en una cadena dada
- 18. Biblioteca UPnP para Java
- 19. Cómo programar una tarea para su futura ejecución en la Tarea Biblioteca paralela
- 20. ¿Existe inyección de dependencia en Rails?
- 21. ¿Existe una biblioteca de LINQ para descansar para C#
- 22. biblioteca de diseño de teclado para encontrar claves vecinas dada una clave de entrada (preferible para java)
- 23. Algoritmo para transformar un DAG de flujo de trabajo en una asignación de recursos paralela?
- 24. Biblioteca C++ OOP para programar el Lego NXT
- 25. Java interject Objetos ejecutables en ExecutorService
- 26. ¿Existe una buena biblioteca de equilibrio de carga abstracta de código abierto para Java?
- 27. ¿Existe una biblioteca ligera de lenguaje de marcado para Android?
- 28. Herramientas de Dependencia de Clase para Java
- 29. ¿Existe una biblioteca de formato de SQL gratuita para .NET?
- 30. Biblioteca de Java BitTorrent
¿Es el motor de proceso como [tag: activiti] o [tag: jbpm] una exageración para usted? –
Java3D tiene algo como esto, pero no sé dónde –
@Tomasz, gracias por los punteros. Sí, esos son probablemente excesivos. – jonderry