Monitory, zamki i atomy, czyli wszystko, czego nie chcesz wiedzieć o współbieżności w JVM
JVM dostarcza nam wiele sposobów implementacji "mutual exclusion" w aplikacjach wielowątkowych. Synchronized, ReentrantLock czy Atomic. Każdy z tych mechanizmów ma swoje plus i minusy, znane także jako "to tylko szczegół implementacji". Podczas kolejnej odsłony podróży w czeluście JVM, dowiesz się czym różnią się te mechanizmy, zaglądniemy w ich wnętrze i dowiesz się jaki wpływ na wydajność i skalowalność mają te drobne szczegóły implementacji. Będzie też czas na dyskusje i praktyczne porady w jakich sytuacjach sięgać po każdy z tych mechanizmów. Czym jest "adaptive locking"? Co robią wątki kiedy są zaparkowane? Czym jest tajemniczy futex oraz dlaczego zmienne typu Atomic to tak naprawdę lock na poziomie sprzętowym? jeżeli choć na jedno pytanie odpowiedziałeś tak, to ta prezentacja jest dla Ciebie.
🚀 https://jdd.org.pl/