Sự khác nhau của Program với Process và Thread
date
Mar 25, 2021
slug
su-khac-nhau-cua-program-voi-process-va-thread
status
Published
tags
computer science
summary
Để hiểu hơn về threads, để tớ trình bày cho các cậu nghe thế nào là program 🤔.
type
Post
Để hiểu hơn về 3 món này thì đầu tiên chúng là phải hiểu thế nào là một program ( Chương trình ). Chương trình là một đơn vị thực thi ở mức độ cao nhất khi tương tác với người dùng. Chương trình bao hàm tập hợp các instructor (điều hướng vận hành) và nó được lưu trữ trên ổ cứng (pasively sotred on disk). Một chương trình sẽ có nhiều hoặc một process (quy trình vận hành) được tổ chức trên RAM.
Ví dụ: Trình duyệt Chrome được thiết kế mỗi tab là một process.
Còn Threads ( luồng ) là đơn vị nhỏ nhất để thực hiện cho Process.
Sự khác biệt giữ process và thread:
- process (quy trình) thường được thiết kế độc lập, trong khi thread (luồng) được thiết kế để làm viêc trong quy trình và được chia sẻ tài nguyên trong một quy trình.
- Mỗi Process ( quy trình ) có vùng tài nguyên riêng ( memory space ).
- Quy trình ( Process ) là cơ chế nặng nề, để thúc và khởi tạo một quy trình thường tốn nhiều thời gian.
- Chuyển đổi ngữ cảnh của quy trình ( Context switching) là một trong những thứ tốn kém nhất khi thiết kế và vận hành quy trình (process)
- Giao tiếp trong nội bộ luồng ( inter-thread ) sẽ nhanh hơn khi đứng ở cấp độ threads
Some programming languages support coroutine. What is the difference between coroutine and thread?