Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/11/2006, 08:59
GreenEyed
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 7 meses
Puntos: 51
Hola,

Lo primero que te recomendaría es echarle un vistazo al tema del multiproceso con Threads en Java (por ejemplo en http://java.sun.com/docs/books/tutor...l/concurrency/) y así entenderás un poco más la sintaxis.

La idea es más o menos la siguiente. Tu lanzas tu programa y quieres que este escuchando del puerto y que pueda recibir comandos a la vez, no? Para eso tiene que estar "escuchando" de dos sitios diferentes. Para poder escuchar de la impresora se lanza un proceso que no hace "nada" y que se ejecuta en paralelo, escuchando eventos y reaccionando a ellos.

El problema es que los trozos de codigo que has pegado no "casan" muy bien entre ellos. El Thread que lanzas en paralelo solo duerme 100ms y luego se muere (al acabar el metodo run() un Thread simplemente desaparece) así que si no ocurre nada en 100m, se acabó.

Cuando tienes varios procesos, entonces tienes que usar los mecanismos para que se comuniquen entre ellos (básicamente pasarse referencias entre ellos y llamarse a metodos) y para sincronizarlos (métodos sincronizados, wait, notify, join, en Java 5 hay más cosas...).

Si no has hecho nunca programación concurrente, no es un tema trivial (Java aparte) por que entonces te recomendaría ir poco a poco con algún texto básico. Algo como: http://www.mcs.drexel.edu/~shartley/ConcProgJava/

Suerte