Article View: es.comp.lenguajes.java
Article #26892Re: Semaforos?
From: Juan Gonzalo de Silva Medina
Date: Sun, 22 Nov 1998 00:00
Date: Sun, 22 Nov 1998 00:00
72 lines
2994 bytes
2994 bytes
Jonathan Revusky wrote: > > Juan Gonzalo de Silva Medina wrote: > > [..] > > Necesito sincronizar dos hilos en Java, para ello me hace falta algun > > mecanismo del tipo de semaforos, alguien conoce algo sobre este tema. > > Algo, sí. Pero quizá deberías describir cuál es el problema que tienes > que solucionar. > Estoy montando un sistema de log para mis aplicaciones, este log no es mas que un hilo que corre independientemente y que acepta peticiones de conexion socket. Asi, cualquier aplicacion puede tener una sesion con el log. Por otra parte tengo montados varios tipos de clientes de la informacion que se genera por el log, unos permiten grabar la informacion, otros, de manera remota, visualizar algun tipo de trafico que pase por el log, etcetera. Cuando una aplicacion esta conectada y desea generar un registro del log envia por el socket un registro con un formato predeterminado. En el "log" se realiza una llamada a un metodo de un objeto que controla a todos los clientes de informacion, este metodo invoca a cada uno de los objetos controlados (mediante eventos) para que estos hagan lo que deseen con la informacion. El "problema" es que no quiero que las aplicaciones clientes (que generan el log) se esperen a que todo esto se haya realizado, sino que una vez recibido el registro de log por el cliente de socket, este "libere" a dicha aplicacion (no quiero que el socket se cierre). En principio pense que lo mas comodo era tener una cola (como las ventanas) que recibiesen los eventos y estos se procesasen asincronamente cuando fuese necesario. No encontre informacion sobre colas de usuario. Asi, pense que lo mejor era construirmela yo, esto es, creando un vector que almacene los mensajes (sincronizado), y emitiendo un evento a un hilo que lee esta cola (dispatch event). En este punto carezco de informacion y tengo varias dudas: ¿puedo parar el hilo con un semaforo para que otro lo active? ¿puedo dormir el hilo y esperar que haya otro que lo despierte, y que esto funcione? ¿existen mensajes asincronos entre objetos? Revise el libro "thinking in Java" pero no encontre nada sobre estos temas... :-(. Bueno si teneis alguna idea, pues eso, gracias... Saludos, -- Juan Gonzalo de Silva Medina http://www.caymasa.es/usr/gonzalo mail:gonzalo@caymasa.es Powered by Red Hat 5.1 2.0.35 and Java
Technical Details
Message-ID:
<365757EE.AEEA8469@caymasa.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<36574A51.960FA5E5@caymasa.es> <36574C25.C636DE42@jet.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 1116f3,181288f97891cea2 X-Google-Attributes: gid1116f3,public From: Juan Gonzalo de Silva Medina <gonzalo@caymasa.es> Subject: Re: Semaforos? Date: 1998/11/22 Message-ID: <365757EE.AEEA8469@caymasa.es> X-Deja-AN: 414336072 Content-Transfer-Encoding: quoted-printable References: <36574A51.960FA5E5@caymasa.es> <36574C25.C636DE42@jet.es> X-Accept-Language: en Content-Type: text/plain; charset=iso-8859-1 Organization: EL MONTE Mime-Version: 1.0 Newsgroups: es.comp.lenguajes.java