Home » Programmazione » Java » Le utility di Java 5 per la gestione della concorrenza

Le utility di Java 5 per la gestione della concorrenza

Spesso occorre implementare del codice concorrente, cioè del codice che ha bisogno di essere eseguito “contemporaneamente” con altro codice, e di accedere concorrentemente alle risorse. Java 5 ha introdotto dei nuovi meccanismi per la gestione di questi fattori.

Oltre alla possibilità di costruire thread pool ecollection, thread-safe vengono messe a disposizione primitive di basso livello per supportare la concorrenza messa a disposizione dal processore. Una delle novità interessanti da sottolineare è l’introduzione della classe Semaphore. Il semaforo può essere utilizzato come una wait al fine di rendere esclusivo l’accesso ad una parte di codice, come ad esempio il codice che dovrà manipolare delle variabili condivise, offrendo però una maggiore flessibilità.

Supponiamo di dover gestire l’accesso concorrente ad una variabile x :

[sourcecode language=’java’]

final private Semaphore s= new Semaphore(1, true);
s.acquireUninterruptibly();
try {
x=x+10; //accesso concorrente
} finally {
s.release(); //rilascio della risorsa
}

[/sourcecode]

0 commenti su “Le utility di Java 5 per la gestione della concorrenza”

  1. Articolo molto interessante, una curiosità..
    ..come fai a formattare il codice in questa maniera, con i nmeri di riga a lato, gli scroller, i colori dedicati per le key words etc etc ?
    Ciao

    (puoi inviarmi la risposta anche sull’e-m@il? grazie)

    Rispondi

Lascia un commento