🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #26892

Re: Semaforos?

#26892
From: Juan Gonzalo de Silva Medina
Date: Sun, 22 Nov 1998 00:00
72 lines
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-mail
References: <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