Và cho em hỏi thêm là MultiThreading có phải là 1 thế mạnh của Java so với các ngôn ngữ khác không ạ?
Tác dụng cụ thể của MultiThreading trong các ứng dụng Java web cụ thể là như thế nào?
Xin chào mọi người.Trong quá trình tự tìm hiểu thì em có thấy mọi người nói là học Java là chắc chắn phải biết về MultiThreading nên em cũng có tìm hiêu 1 tí về nó.Nhưng bản thân em cũng đã tiếp xúc với Java web đã được 1 thời gian rồi mà em vẫn chưa biết tác dụng cụ thể của MultiThreading trong các ứng dụng Java web cụ thể là như thế nào ạ?
java
multithreading
Remain: 5
2 Answers

tvd12
Enlightened
tvd12
Enlightened
Đây cũng chính là một trong những nhược điểm của việc sử dụng thư viện em ạ, đó là không biết được những thứ hay ho ở dưới.
Để biết được MultiThreading với java web được sử dụng thế nào, em hãy tải visualvm về nhé, em sẽ xem được kiểu thế này:

Em có thể thấy một loạt các thread với các trạng thái xanh đỏ tím vàng, đây là các thread làm nhiệm vụ xử lý I/O và các thread dành cho xử lý request và response của em, thông thường em sẽ không cần phải tạo thêm các thread nữa.
Số thread trong một server là hữu hạn, nên nếu việc xử lý request quá chậm sẽ dẫn đến hết thread và server của em sẽ bị treo nhé, đây người ta gọi là DDoS
Multi-Threading đương nhiên là một thế mạnh của java so với rất nhiều ngôn ngữ khác rồi em ạ. Vì sao vậy? Các framework khác như nodejs, dart, ... đều cố gắng đưa tất cả về single thread bằng cách giấu đi việc xử lý thread phức tạp ở dưới, để dev không cần lo về lock, synchronize các thứ. Tuy nhiên là lại phải đẻ ra các từ khoá async, await và các hàm callback để dev không làm block cái main thread. Chính vì vậy mà dev sẽ bị cái vòng kim cô async siết chặt, làm giảm khả năng sáng tạo với nhiều mẫu lập trình khác nhau. Còn với Java hay các ngôn ngữ thuần tuý multithread như C
, C/C++ với các từ khoá volatile, synchronize, lock sẽ cho em khả năng sáng tạo vô tận nhé
-
2

dohai2105
Enlightened
dohai2105
Enlightened
Trước dự án mình có làm chức năng submit form xong tạo 3 4 file xong trả result cho người dùng, làm bình thương tuần tự tạo file kết quả trả hơi lâu, sau dùng nhiều thread tạo file 1 lúc thì kết quả ra nhanh hơn cỡ 2 lần.
-
0