Documente Academic
Documente Profesional
Documente Cultură
de date sunt n spatele unui proces Mai multe procese nu pot accesa n acelai timp datele Procesele folosesc mesaje pentru a comunica Procesele invoc metode ale unor obiecte aflate pe alte maini
JavaSpaces
Structuri
de date distribuite
Procesele
unei aplicaii comunic prin schimbul de obiecte ale unuia sau mai multor spaii
Spaiu
Memorie Persistent Cutare
obiect, pentru a putea fi stocat ntr-un spaiu, trebuie s implementeze interfaa Entry Convenii:
Constructor public fr argumente Variabilele trebuie s fie publice Variabilele trebuie s reprezinte referine ctre obiecte i nu tipuri primitive
Exemplu:
import net.jini.core.entry.Entry; public class Message implements Entry { public String content; public Message() { } }
Entry read(Entry tmpl, Transaction txn, long timeout); Entry take(Entry tmpl, Transaction txn, long timeout);
EventRegistration notify(Entry tmpl, Transaction txn, RemoteEventListener listener, long lease, MarshalledObject handback);
Replicated Workers
Master
public class Master { for (int i=0; i<nTasks; i++) { Task task = new Task(); space.write(task, );
}
for (int i=0; i<nTasks; i++) { Result template = new Result(); Result result =space.take(template, ); // combine results } }
Worker
public class Worker { while(true){ Task template = new Task(...); Task task = (Task)space.take(template, ...); Result result = compute(task); space.write(result, ...); } }