Autor Tema: Diferencia entre proceso e hilo Java Process y Thread Problema multiproceso  (Leído 3628 veces)

Juniorjavajava

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Buenas, pues necesito ayuda con un ejercicio que no se ni como empezar, el ejercicio es este:

Se va a desarrollar una solución multiproceso al problema de sincronizar y comunicar dos procesos hijos creados a partir de un proceso padre. La idea es escribir una clase Java que ejecute dos comandos (cada hijo creado ejecutará uno de ellos) con sus respectivos argumentos y redireccione la salida estándar del primero a la entrada estándar del segundo. Por sencillez, los comandos y sus argumentos irán directamente escritos en el código del programa para no complicar demasiado el problema. Por ejemplo, se pueden utilizar los comandos dir, que muestra una lista de archivos y subdirectorios en un directorio; y sort, que ordena los resultados de un comando seleccionado, por ejemplo los resultados de una búsqueda con find, aunque en el presente caso ordenará los resultados obtenidos con dir.

Tambien debo decir que vengo del siguiente  post:

https://www.aprenderaprogramar.com/foros/index.php?topic=1442

Ahi lo solucionan con hilos , pero a mi me gustaria saber la manera de solucionarlo sin hilos.Es decir , solucionarlo con la clase Process y Streams etc...(cualquier manera pero sin hilos)

Gracias de antemano, ;D
« Última modificación: 13 de Octubre 2015, 08:38 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola en la documentación java podemos leer esto: In concurrent programming, there are two basic units of execution: processes and threads. In the Java programming language, concurrent programming is mostly concerned with threads.

En programación concurrente, hay dos unidades básicas de ejeución: procesos e hilos. En el lenguaje de programación Java, la programación concurrente se desarrolla principalmente a través de hilos (threads).

Referencia: https://docs.oracle.com/javase/tutorial/essential/concurrency/procthread.html

En el enunciado de problema que nos indicas, parece que se pretende ejecutar comandos del sistema a través de Java. Para eso te recomiendo que sigas las explicaciones de estos artículos (está en inglés): http://alvinalexander.com/java/java-exec-processbuilder-process-1

Si vas generando código puedes irlo pegando como se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 para consultar u obtener ayuda, ten en cuenta que en los foros tratamos siempre de ayudar a partir del código que se haya intentado desarrollar.

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".