Usporedba Java virtualnih i nevirtualnih dretvi u paralelnom programiranju

U radu se istražuju Java virtualne dretve i njihova učinkovitost u paralelnom programiranju u usporedbi s klasičnim nevirtualnim dretvama.

SAŽETAK

Programski jezik Java, u svojoj LTS verziji 21 (objavljenoj u rujnu 2023.), uveo je virtualne dretve. Dok su nevirtualne (ili platformske) Java dretve mapirane jedan na jedan na dretve operacijskog sustava, više virtualnih Java dretvi može se izvršiti na jednoj dretvi operacijskog sustava, što broj virtualnih Java dretvi čini praktički neograničenim.
Virtualne dretve omogućuju pisanje koda koji je jednako učinkovit kao asinkroni kod, ali je čitljiviji, puno lakši za otklanjanje pogrešaka i pruža jasnije poruke o pogreškama (iznimkama) u usporedbi s asinkronim kodom.

Često se navodi da su virtualne dretve prvenstveno namijenjene konkurentnom programiranju (npr. svakom aktivnom korisniku na aplikacijskom poslužitelju sada se može dodijeliti zasebna dretva) i da su manje prikladne za paralelno programiranje (gdje je zadatak podijeljen na podzadatke kako bi se iskoristila procesorska snaga višeprocesorskih sustava). U ovom radu se analizira učinkovitost virtualnih Java dretvi u paralelnom programiranju.