Pasar de un hilo a otro
Publicado por Diego Gutierrez (2 intervenciones) el 18/10/2007 16:00:41
Saludos, estoy haciendo un proyecto medio raro en la escuela y me encontre con el siguiente dilema:
Tengo 3 hilos, uno que es simplemente una ventana de swing, otro que es un proceso "Servidor" que esta corriendo y un tercero que es un proceso "Cliente" que extiende de Thread que tambien ya esta corriendo y que puede hacer invocaciones a 2 metodos del servidor...
La ventana de swing esta ligada el proceso cliente, ya que lo contiene como una propiedad, y lo que yo quiero hacer es que cuando presione sobre un boton de la venana, que el hilo del proceso cliente (que ya esta corriendo) sea el que tome el control y haga una peticion al servidor, ya que el servidor debe, por medio de Thread.currentThread(), obtener el hilo del cliente que lo invoco para bloquearlo y luego hacerle una notificacion ya que tenga su respuesta..
La llamada hacia el cliente la hago asi
// este es el codigo que esta en el listener del JFrame
public void actionPerformed(ActionEvent e) {
getProcesoCliente().hacerSolicitudAlServidor();
}
Ya tengo todo programado, pero cuando hago la llamada a currentThread, el hilo que me regresa es el AWT-EventQueue que es quien originalmente llama al cliente (al hacer click sobre el boton del JFrame) y a su vez llama al servidor mediante el metodo del cliente, pero no con el hilo del cliente y no tengo idea de como hacer que el cliente sea quien haga el llamado al servidor en vez del AWT-EventQueue
Gracias por leer
Tengo 3 hilos, uno que es simplemente una ventana de swing, otro que es un proceso "Servidor" que esta corriendo y un tercero que es un proceso "Cliente" que extiende de Thread que tambien ya esta corriendo y que puede hacer invocaciones a 2 metodos del servidor...
La ventana de swing esta ligada el proceso cliente, ya que lo contiene como una propiedad, y lo que yo quiero hacer es que cuando presione sobre un boton de la venana, que el hilo del proceso cliente (que ya esta corriendo) sea el que tome el control y haga una peticion al servidor, ya que el servidor debe, por medio de Thread.currentThread(), obtener el hilo del cliente que lo invoco para bloquearlo y luego hacerle una notificacion ya que tenga su respuesta..
La llamada hacia el cliente la hago asi
// este es el codigo que esta en el listener del JFrame
public void actionPerformed(ActionEvent e) {
getProcesoCliente().hacerSolicitudAlServidor();
}
Ya tengo todo programado, pero cuando hago la llamada a currentThread, el hilo que me regresa es el AWT-EventQueue que es quien originalmente llama al cliente (al hacer click sobre el boton del JFrame) y a su vez llama al servidor mediante el metodo del cliente, pero no con el hilo del cliente y no tengo idea de como hacer que el cliente sea quien haga el llamado al servidor en vez del AWT-EventQueue
Gracias por leer
Valora esta pregunta


0