17 điểm bởi xguru 2025-02-15 | 2 bình luận | Chia sẻ qua WhatsApp
  • Tổng quan về Virtual Threads
    • Virtual Threads (dự án Loom) là gì
    • Platform Threads vs Virtual Threads - Blocking?
    • Cách Platform Threads hoạt động
    • Cách Virtual Threads hoạt động
  • Quy tắc & thực tiễn tốt nhất
    • Quy tắc 1 - Tạo Threads
    • Quy tắc 2 - Không dùng CompletableFuture
    • Quy tắc 2 - Hãy dùng Virtual Threads
    • Quy tắc 3 - Không dùng Thread Pool
    • Quy tắc 3 - Hãy dùng newThreadPerTaskExecutor
    • Quy tắc 4 - Không dùng FixedThreadPool cho concurrency
    • Quy tắc 4 - Hãy dùng Semaphore cho Concurrency
    • Quy tắc 5 - Hãy dùng ScopedValue
    • Quy tắc 6 - Hãy dùng ReentranceLock thay cho synchronized
    • Quy tắc 7 - Thực hiện Structured Concurrency
    • Quy tắc 8 - Kiểm thử Virtual Threads
  • Spring Boot với Virtual Threads
    • Spring Boot MVC với Virtual Threads
    • Tác vụ bất đồng bộ trong Spring Boot MVC
    • RestController sử dụng Virtual Threads
  • Thay đổi mã Legacy
    • Áp dụng Virtual Threads vào hệ thống hiện có

2 bình luận

 
click 2025-02-15

Trong Jdk24, synchronized đã được sửa để không còn gây ra pinning nữa, nên có lẽ đến khoảng bản LTS tiếp theo thì quy tắc 6 cũng sẽ không còn cần thiết.

 
carnoxen 2025-02-15

Scoped Value, Structured Concurrency vẫn còn ở giai đoạn "xem trước", nên có lẽ sẽ còn khá lâu nữa Virtual Thread mới được đưa vào sử dụng thương mại.