[Java Spring Boot] Thắc Mắc Về Thread? | TheNEXTvoz

VOZ
  • Forums New posts
  • Latests Featured content New posts New profile posts Latest activity
Log in Register What's new
  • New posts
Menu Log in Register Install the app Install How to install the app on iOS

Follow along with the video below to see how to install our site as a web app on your home screen.

Note: This feature may not be available in some browsers.

  • Forums
  • Học tập & Sự nghiệp
  • Lập trình / CNTT
You are using an out of date browser. It may not display this or other websites correctly.You should upgrade or use an alternative browser. thắc mắc[Java Spring Boot] Thắc mắc về Thread?
  • Thread starter Thread starter recca2007
  • Start date Start date Oct 9, 2021
recca2007

recca2007

Senior Member
Chào các bác, Nhờ các cao nhân giải đáp giúp em một vài thắc mắc khi sử dụng Spring boot và thread với ạ: 1) Theo em tìm hiểu với mỗi request vào API Rest Controller thì sẽ được Spring boot quản lý và cấp phát Thread. Nhưng số thread mặc định setting thì có thể không chính xác. => Vậy nếu trường hợp mình tự custom thì custom như thế nào hợp lý? 2) Làm sao biết được CPU của mình hỗ trợ tối đa bao nhiêu thread? Cám ơn các bác. McSinyx

McSinyx

Junior Member
Mình không dùng Spring boot nhưng số thread hiệu quả nhất sẽ rơi vào khoảng từ số core CPU (tính cả core ảo/hyperthreading) + 2 tới gấp rưỡi số đó. Ít hơn thì sẽ lãng phí tài nguyên, nhiều hơn thì phí overhead khi hệ điều hành chuyển context. Đấy là trong trường hợp task nó cần tính toán nhiều, chứ nếu phần lớn lệnh là I/O thì kể cả một thread cũng ăn được vài trăm nghìn request một giây nếu dùng green thread (task) cẩn thận. Love U So Much

Love U So Much

Senior Member
Spring dùng servlet thì qua thread pool. Tầm 500 thread gì đấy, pool to vì bottneck ở phần database. Pool của db chắc tầm 10 connection alexTVr1

alexTVr1

Senior Member
McSinyx said: Mình không dùng Spring boot nhưng số thread hiệu quả nhất sẽ rơi vào khoảng từ số core CPU (tính cả core ảo/hyperthreading) + 2 tới gấp rưỡi số đó. Ít hơn thì sẽ lãng phí tài nguyên, nhiều hơn thì phí overhead khi hệ điều hành chuyển context. Đấy là trong trường hợp task nó cần tính toán nhiều, chứ nếu phần lớn lệnh là I/O thì kể cả một thread cũng ăn được vài trăm nghìn request một giây nếu dùng green thread (task) cẩn thận. Click to expand...
java nó có cơ chế bất đồng bộ 1 luồng như js ko thím nhỉ, lâu giờ toàn dùng multi thread nhưng em thấy các xử lý ko thực hiện trực tiếp trên cpu mà chỉ là đợi chỗ khác thực hiện rồi trả kết quả về mà dùng thread thì lãng phí quá QTQTQT

QTQTQT

Member
alexTVr1 said: java nó có cơ chế bất đồng bộ 1 luồng như js ko thím nhỉ, lâu giờ toàn dùng multi thread nhưng em thấy các xử lý ko thực hiện trực tiếp trên cpu mà chỉ là đợi chỗ khác thực hiện rồi trả kết quả về mà dùng thread thì lãng phí quá Click to expand...
Có nhé một số thằng như vertx.io hoặc như Spring WebFlux cũng đã chuyển qua nonblocking rồi. Sắp tới nếu java release thằng loom tạo ra lightweight thread thì dùng blocking cũng được code cho dễ . recca2007

recca2007

Senior Member
McSinyx said: Mình không dùng Spring boot nhưng số thread hiệu quả nhất sẽ rơi vào khoảng từ số core CPU (tính cả core ảo/hyperthreading) + 2 tới gấp rưỡi số đó. Ít hơn thì sẽ lãng phí tài nguyên, nhiều hơn thì phí overhead khi hệ điều hành chuyển context. Đấy là trong trường hợp task nó cần tính toán nhiều, chứ nếu phần lớn lệnh là I/O thì kể cả một thread cũng ăn được vài trăm nghìn request một giây nếu dùng green thread (task) cẩn thận. Click to expand...
Nếu vậy 1 CPU có 4 core thì set ở ngưỡng khoảng 16 thread thôi à bác? => Java dùng khoảng 16 thread là ổn. McSinyx

McSinyx

Junior Member
recca2007 said: Nếu vậy 1 CPU có 4 core thì set ở ngưỡng khoảng 16 thread thôi à bác? => Java dùng khoảng 16 thread là ổn. Click to expand...
Nếu 4 core (không hyperthread) thì mình sẽ dùng pool 6 thread, nhưng mà đấy là trong trường hợp thread chỉ dùng để chia việc xử lý (i.e. green thread như trong Netty hoặc Kotlin) chứ không phải mỗi thread nhận một request. You must log in or register to reply here.

Similar threads

huynhduc23 thảo luận Xin gợi ý đề tài tốt nghiệp về Web App
  • huynhduc23
  • Nov 4, 2025
  • Lập trình / CNTT
Replies 13 Views 1K Nov 13, 2025 venom25 venom25 h.giang tuyển dụng Tuyển Junior Java Developer (Spring Boot) – Onsite Hoàng Quốc Việt, Hà Nội
  • h.giang
  • Nov 6, 2025
  • Tuyển dụng - Tìm việc
Replies 4 Views 358 Nov 6, 2025 h.giang h.giang dmduc00 thắc mắc Thắc mắc hướng mô phỏng của đồ án tốt nghiệp về thiết kế SDN Controller tối ưu Qos cho Netwok Slicing trong mạng 5G
  • dmduc00
  • Dec 8, 2025
  • Lập trình / CNTT
Replies 2 Views 211 Dec 8, 2025 dmduc00 dmduc00 trubavuong_iam [ Thắc mắc] Về làm LLTP số 2 trên app VNeID
  • trubavuong_iam
  • Dec 16, 2025
  • Chuyện trò linh tinh™
Replies 7 Views 423 Sunday at 8:36 AM trubavuong_iam trubavuong_iam pitroy download PITROYTECH BOOT FIX AIO - Công cụ fix các kiểu boot lỗi full tiếng Việt
  • pitroy
  • Dec 1, 2025
  • Phần mềm
Replies 8 Views 549 Dec 8, 2025 pitroy pitroy Share: Facebook X (Twitter) LinkedIn Reddit Pinterest WhatsApp Share Link

Thread statistics

Created recca2007, Oct 9, 2021 Last reply from McSinyx, Oct 10, 2021 Replies 6 Views 3,481

Share this page

Facebook X (Twitter) LinkedIn Reddit Pinterest WhatsApp Share Link
  • Forums
  • Học tập & Sự nghiệp
  • Lập trình / CNTT
Back Top

Từ khóa » đa Luồng Trong Spring Boot