memoria compartida entre threads

pol
31 de Diciembre del 2001
Me gustaria saber si hay una manera facil para que diferentes threads compartan variables, de forma sincronizada.
Gracias,
Atentamente,
Pol.

Bender
31 de Diciembre del 2001
No entiendo demasiado tu problema.
Basta con que tus Threads accedan al mismo objeto, es decir a la misma referencia.
Si lo que buscas es un truco para evitar problemas de sincronismo, no lo hay. Si defines mejor que quieres hacer y como lo quieres hacer podemos tratar de ayudarte. Ojo usar demasiado el indicador synchronized. Te puede provocar unos hermosos deadlocks.
Si lo que te ocurre es que no parece que se te refresque un determinado dato, define la variable que contiene la referencia comun como volatile.

Salut,
Bender


Oblongo
31 de Diciembre del 2001
Se me olvidó decirte en el correo que te mandé, que puedes crear más de dos threads (bien más lectores o más escritores) que compitan por la zona de memoria compartida. Pero ten en cuenta que después será el dispacher de java el que se encarge de ir sleccionando uno a uno los Thread, con lo cual se hace más complicada la coordinación.
Por lo tanto si quieres tener a muchos threads y que trabajen de una forma más o menos ordenada, te tendrás que currar tú la política de gestión, por ejemplo asignándoles un número.
Supongo que la política que aplique java será asignar un tiempo máximo a cada thread (si este voluntarimente no se duerme antes o no provoca una I/O), esto no lo sé.

pol
31 de Diciembre del 2001
Gracias por contestarme, i gracias por el mail, pero no me llego el ejemplo, a ver si puedes enviarlo en un momento, gracias.

Atentamente,
Pol