Welcome to MikeDaDev's Blog – notes on Java, backend & system design.

Explore
MikeDaDev's Blog

#multithreading

Things I've written about #multithreading
  • Java Memory Model & happens-before

    Đào vào Java Memory Model (JSR-133): giao thức MESI, Store Buffer, 4 loại Memory Barrier, quan hệ Happens-Before, chuyện False Sharing (@Contended), và Acquire/Release với VarHandle từ Java 9.

  • threadpool executor pool size

    ThreadPoolExecutor nhìn từ góc kiến trúc: biến bit ctl, Định luật Little & công thức Goetz để tính Pool Size, cái bẫy Unbounded Queue gây OOM, Thread Starvation Deadlock và so sánh với Virtual Threads.

  • java ThreadPoolExecutor

    Mổ ThreadPoolExecutor từ bên trong: biến ctl gói bit thế nào, vì sao mấy static factory của Executors là quả bom OOM, vì sao Worker tự dựng khoá không tái nhập trên AQS, 4 cách xử lý backpressure và quy trình graceful shutdown 2 pha để chạy production.