[LTM] Chương 6.4: List benefits of multithreading (Danh sách lợi ích đa luồng)


Benefits of Multithreading (Lợi ích đa luồng)
Sự đáp ứng: 

  • MultiThread một ứng dụng giao tiếp cho phép một chương trình tiếp tục chạy thậm chí nếu một phần của nó bị khóa (wait) hay đang thực hiện một thao tác dài, 
  • do đó gia tăng sự đáp ứng đối với người dùng.. 
  • Chia sẻ tài nguyên: Thuận lợi của việc chia sẻ là nó cho phép một ứng dụng có nhiều hoạt động của các Thread khác nhau nằm trong cùng không gian địa chỉ. => nhanh
Kinh tế:
  • cấp phát bộ nhớ và các tài nguyên cho việc tạo các quá trình là rất đắt (chậm). 
  • Vì các Thread chia sẻ tài nguyên của quá trình mà chúng thuộc về nên nó kinh tế hơn việc tạo quá trình và chuyển ngữ cảnh giữa các Thread . 
  • Sử dụng kiến trúc đa xử lý: 
  • các lợi điểm của MultiThread có thể phát huy trong kiến trúc đa xử lý, ở đó mỗi Thread thực thi song song trên một bộ xử lý khác nhau. 
  • Một quá trình đơn Thread chỉ có thể chạy trên một CPU. MultiThread trên một máy nhiều CPU gia tăng tính đồng hành. (GPU)


Multithreading vs. multitasking 
Multithreading đòi hỏi ít tài nguyên hơn multitasking.

In multitasking, các chương trình chạy trên các không gian địa chỉ của chúng và khác nhau giữa các chương trình
đòi hỏi nhiều tài nguyên của hệ thống (cả ram và CPU)
In multithreading các tác vụ có thể chia sẻ cùng không gian địa chỉ
Multithreading cho phép viết các chương trình có hiệu quả cao với sự tận dụng CPU là tối đa bằng cách duy trì thời gian trễ là tối thiểu