SEMAFOROS EN JAVA
hola se pueden utilizar semáforos en java??
Si es asi, cual es la función?
Gracias
Si es asi, cual es la función?
Gracias
Efectivamente, puedes utilizar el synchronized para serializar el acceso a un metodo o variable. Otro tema es el wait() y el notify(); para controlar tu el acceso concurrente desde hilos y decidir cual se ejecuta en cada momento. y poder gestionar colas, ... Busca algun manual que hable de esos metodos y mira a ver.
No hay semáforos como tales, aunque si puedes usar algo parecido.
Se trata de synchronized. Un ejemplo
Tienes una instancia de una clase y no quieres que dos threads accedan simultaneamente a esa clase. Puedes poner synchronized en todos los metodos de la clase al codificarla, o bien al usarla, hacerlo de esta manera
Clase unaInstancia;
...
synchronized (unaInstancia)
{
// codigo que trabaja sobre unaInstancia
}
Se bueno.
Se trata de synchronized. Un ejemplo
Tienes una instancia de una clase y no quieres que dos threads accedan simultaneamente a esa clase. Puedes poner synchronized en todos los metodos de la clase al codificarla, o bien al usarla, hacerlo de esta manera
Clase unaInstancia;
...
synchronized (unaInstancia)
{
// codigo que trabaja sobre unaInstancia
}
Se bueno.