Đa luồng (multithreading) trong java là một tiến trình thực hiện nhiều luồng đồng thời.
Luồng (thread) về cơ bản là một tiến trình con (sub-process). Nó là đơn vị nhỏ nhất của tiến trình. Đa tiến trình (multiprocessing) và đa luồng (multithreading) cả hai được sử dụng để tạo ra hệ thống đa nhiệm (multitasking).
Nhưng chúng ta sử dụng đa luồng nhiều hơn đa tiến trình bởi vì các luồng chia sẻ một vùng bộ nhớ chung. Chúng không phân bổ vùng bộ nhớ riêng biệt để tiết kiệm bộ nhớ, và chuyển đổi ngữ cảnh giữa các luồng mất ít thời gian hơn tiến trình.
Đa luồng trong java được sử dụng hầu hết trong các game, hoạt hình,...
1) Nó không chặn người sử dụng vì các luồng là độc lập và bạn có thể thực hiện nhiều công việc cùng một lúc.
2) Bạn có thể thực hiện nhiều hoạt động với nhau để tiết kiệm thời gian.
3) Luồng là độc lập vì vậy nó không ảnh hưởng đến luồng khác nếu ngoại lệ xảy ra trong một luồng duy nhất.
Đa nhiệm là một quá trình thực hiện nhiều nhiệm vụ cùng một lúc. Chúng ta sử dụng đa nhiệm để tận dụng tính năng của CPU. Đa nhiệm có thể đạt được bằng hai cách:
Chú ý: Cần ít nhất một xử lý cho mỗi luồng.
Nguồn tin: viettuts.vn