0% au considerat acest document util (0 voturi)
14 vizualizări2 pagini

Thread Safet

Documentul prezintă colecțiile thread-safe din Java și noile colecții concurente din pachetul java.util.concurrent, precum și interfețele și implementările pentru utilizarea cozilor, inclusiv cozile cu blocare.

Încărcat de

Ana Toma
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
14 vizualizări2 pagini

Thread Safet

Documentul prezintă colecțiile thread-safe din Java și noile colecții concurente din pachetul java.util.concurrent, precum și interfețele și implementările pentru utilizarea cozilor, inclusiv cozile cu blocare.

Încărcat de

Ana Toma
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd

Colecţii Thread-Safe în Java

Orice pachet Java (de la Sun) este "Thread safe", adica este asigurat ca metodele
continute in pachet pot fi apelate simultan de mai multe fire de [Link]-ul
Collections introdus în JDK 1.2 este un framework flexibil pentru reprezentarea colecțiilor de
obiecte, folosind interfețele de bază Map, List, Set. Cateva dintre implementări sunt Thread-Safe
(Hashtable, Vector), celelalte pot fi făcute thread-safe cu ajutorul colecțiilor, și anume
[Link](), [Link]() si [Link]().

Pachetul [Link] adăugă câteva noi colecții concurente: ConcurrentHashMap,


CopyOnWriteArrayList și CopyOnWriteArraySet. Scopul acestor clase este să îmbunatățească
performanța și scalabilitatea oferită de tipurile de colecții de bază. JDK 5.0 oferă de asemenea
două noi structuri și interfețe pentru utilizarea cozilor : Queue și BlockingQueue.

Există două implementări principale, care determină ordinea în care elementele unei cozi
sunt accesate: ConcurrentLinkedQueue (acces FIFO) și PriorityQueue (acces pe bază de
priorități). Cozi cu blocare (BlockingQueue) Acest tip de cozi sunt folosite atunci când se
dorește blocarea unui thread, în situația în care anumite operații pe o coadă nu pot fi executate.

Prin folosirea BlockingQueue se blochează automat producătorii până când se eliberează


un element din coadă. Implementările interfeței BlockingQueue sunt: LinkedBlockingQueue,
PriorityBlockingQueue, ArrayBlockingQueue si SynchronousQueue.

Bibliografie:
,,Principles of Parallel Programming’’ by Calvin Lin Hardcover

,,Parallel Programming in OpenMP “by Rohit Chandra Paperback

,,Java Threads: Understanding and Mastering Concurrent Programming “ by Scott


Oaks Paperback

,,Java Concurrency in Practice ” by Brian Goetz Paperback

[Link]

S-ar putea să vă placă și