- 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
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.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.