// Estos se inicializan los primeros
private boolean inicializados = false;
private Object lock_init = new Object();
...
17 Enero 2012
Miguel Telleria de Esteban telleriam AT unican.es)
Página 4 de 7
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
SmartHunter marcador
Inicializacion
public Marcador()
{
lock_num_jets_inofensivos = new Object();
num_jets_inofensivos = 0;
...
locks_num_misiles_asignados = new Hashtable<String,Object>();
nums_misiles_asignados = new Hashtable<String,Integer>();
locks_num_misiles_explotados = new Hashtable<String, Object>();
nums_misiles_explotados = new Hashtable<String, Integer>();
for (String cardinalidad : GeoData.BATTERY_NAME)
{
locks_num_misiles_asignados.put(cardinalidad, new Object());
nums_misiles_asignados.put(cardinalidad, 0);
locks_num_misiles_explotados.put(cardinalidad, new Object());
nums_misiles_explotados.put(cardinalidad, 0);
}
...
// Cuando ya esta todo inicializado
synchronized(lock_init)
{
inicializados = true;
lock_init.notify();
}
17 Enero 2012
}
Miguel Telleria de Esteban telleriam AT unican.es)
Página 5 de 7
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
SmartHunter marcador
Sincronismo de espera en inicialización
public void init()
{
synchronized(lock_init)
{
while (!inicializados)
{
try {
lock_init.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
17 Enero 2012
Miguel Telleria de Esteban telleriam AT unican.es)
Página 6 de 7
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
SmartHunter marcador
Distribución
● Partiendo de la versión monoprocesador
● Distribuir el marcador a una partición distinta con RMI
● Distribuir el marcador a una partición distinta con ICE
● Desactivar el lanzamiento de misiles para testear la detección de
los impactos.
● Nota sobre la implementación de Ice y funciones con '_':
Ice no soporta por defecto identificadores con subrayados en slice.
●
● A partir de ice 3.4, sí se pueden usar dando la opción –underscore al
slice2java.
slice2java --tie --underscore SmartHunterMarc.ice
17 Enero 2012
Miguel Telleria de Esteban telleriam AT unican.es)
Comentarios de: SmartHunter marcador (0)
No hay comentarios