Program paralel di Java: thread, sinkronisasi, lock, executor, CompletableFuture, virtual threads, hingga structured concurrency.
Bedakan proses dan thread beserta implikasi memori dan komunikasinya.
Buka → # Membuat ThreadCiptakan dan jalankan thread dengan subclass Thread maupun Runnable.
Buka → # Runnable dan CallableBandingkan dua kontrak eksekusi dan hasil yang dapat dikembalikan.
Buka → # Thread LifecycleIkuti state thread dari NEW hingga TERMINATED dan transisinya.
Buka → # Thread Priority dan DaemonAtur prioritas dan mode daemon beserta batas kendali nyatanya.
Buka → # Race ConditionsAmati kesalahan akibat akses bersama tanpa koordinasi dan cara mereproduksinya.
Buka → # synchronizedLindungi critical section dengan method dan blok synchronized.
Buka → # Intrinsic LocksPahami lock bawaan setiap objek dan sifat reentrannya.
Buka → # volatileJamin visibilitas perubahan antar thread dengan volatile dan batasnya.
Buka → # Atomic VariablesLakukan operasi gabungan tanpa lock dengan class Atomic.
Buka → # Lock dan ReentrantLockGunakan lock eksplisit dengan fitur tryLock, fairness, dan interruptible.
Buka → # ReadWriteLockIzinkan pembaca bersamaan dengan ReadWriteLock dan tulis eksklusif.
Buka → # DeadlockPahami terbentuknya deadlock, cara mendeteksi, dan mencegahnya.
Buka → # Livelock dan StarvationKenali dua masalah koordinasi lain selain deadlock dan mitigasinya.
Buka → # wait, notify, dan notifyAllKoordinasi antar thread dengan wait/notify pada intrinsic lock.
Buka → # ExecutorServiceSerahkan pengelolaan thread ke ExecutorService dan shut down dengan benar.
Buka → # Thread PoolsPilih ukuran dan jenis pool sesuai sifat pekerjaan aplikasi.
Buka → # Future dan CompletableFutureAmbil hasil asinkron dan rangkai tahapan dengan CompletableFuture.
Buka → # Concurrent CollectionsGunakan collection thread-safe seperti ConcurrentHashMap dan CopyOnWriteArrayList.
Buka → # Fork/Join FrameworkPecah pekerjaan rekursif dan gabungkan hasilnya dengan work stealing.
Buka → # Parallel Streams dan ConcurrencyPahami hubungan parallel stream dengan ForkJoinPool dan kesalahpakaiannya.
Buka → # Virtual ThreadsSkalakan jutaan task ringan dengan virtual threads Java modern.
Buka → # Structured ConcurrencyPadatkan lifecycle task bersaudara dengan pola structured concurrency.
Buka → # Thread SafetyKenali sumber bahaya visibility dan atomicity beserta resep amannya.
Buka → # Best Practices ConcurrencyRangkai prinsip desain concurrency yang sederhana dan dapat diuji.
Buka →