Documente Academic
Documente Profesional
Documente Cultură
prin join
Sincronizarea prin join este utilizata cand calculul paralel este urmat de alte
operatii care folosesc rezultatele acestuia. Exemplu: sortarea partitionata prin
interclasare a vectorilor de mari dimensiuni.
Metodele join:
public final void join(long millis, int nanos) throws InterruptedException;
public final void join() throws InterruptedException;
Semafoare
Sunt implementate prin clasa Semaphore , pachetul java.util.concurrent
public class Semaphore extends Object implements Serializable;
Restrictioneaza numarul de fire care au acces la o regiune critica
Constructori:
public Semaphore(int permits); // creaza un semafor cu numar de permisiuni
specificat
public Semaphore(int permits, boolean fair); // fair specifica daca se respecta
ordinea in castigarea permisiunii. Pentru primul constructor fair este false
Metode:
public void acquire() throws InterruptedException; // Obtinere permisiune sau
trecere fir in asteptare pana cand o permisiune este acordata sau firul este
intrerupt. Obtinerea permisiunii duce la decrementarea numarului de
permisiuni.
public void acquire(int permits) throws InterruptedException; // Este solicitat
un numar de permisiuni. Obtinerea implica decrementarea cu permits.