Uso correcto de ProcessBuilder

Después de investigar, noté que la forma "correcta" de usar ProcessBuilder de java es generar otros dos hilos para gestionar engullir el stdout / stderr del proceso recién creado para que no se cuelgue como se muestra aquí: artículo de javaworld

Pero esto me ha dejado preguntándome acerca de 2 preguntas: 1.) ¿Por qué exactamente se necesitan procesos separados en lugar de que el proceso principal engulle el stdout y luego secuencialmente el stderr?

2.) Además, si fuera a redirigir las secuencias para ir a stdout, ¿sería aceptable que el proceso principal se tragara la secuencia stdout y luego no tuviera que preocuparse por los puntos muertos?

Respuesta 1

Estoy tratando de reconocer una imagen (formulario) y convertirla en texto, actualmente usando los datos de egg.trained de google "tesseract-ocr" y esto funciona bien para caracteres impresos y para uno escrito manualmente (...

Si creo clases, que se usan en este momento solo en un solo hilo, ¿debería hacerlas seguras para los hilos, incluso si no las necesito en este momento? Puede suceder que luego use esta clase en ...

public static String template = "$ A $ B" public static void somemethod () {template.replaceAll (Matcher.quoteReplacement ("$") + "A", "A"); template.replaceAll (Matcher.quoteReplacement ("$" ...

Así que instalé Alfresco y tengo dos aplicaciones web / alfresco y / share. ¿Cuál es la diferencia y los propósitos de estas aplicaciones? ¿Puede una aplicación existir sin la otra?