Thảo luận về các câu hỏi bài 5
+6
NGUYENVANMANH(102C)
lamutdan-i92c
teo(i11c)
TranThiTuyetNhung [i02c]
TruongThiMinhNgoc57(102C)
lavansan(102c)
10 posters
Trang 1 trong tổng số 1 trang
Thảo luận về các câu hỏi bài 5
Câu 1: Khái niệm đa luồng. So sánh luồng với tiến trình (giống và khác nhau ở chỗ nào?)
Trả lời:
* Khái niệm đa luồng: Luồng còn gọi là tiến trình nhẹ (LWP-Light Weight Process), cũng là một đơn vị cơ bản sử dụng CPU.
* So sánh:
- Luồng cũng có thông tin trạng thái như tiến trình truyền thống (Heavy Weight Process).
+ Nhiều luồng có thể cùng chung một mã chương trình.
- Tiến trình có thể có một luồng chính với nhiều luồng phụ. Mỗi luồng có khả năng chia sẻ tài nguyên với các luồng khác trong tiến trình.
P/s: Ai có câu hỏi và câu trả lời hãy post bài để cùng thảo luận nha!
Trả lời:
* Khái niệm đa luồng: Luồng còn gọi là tiến trình nhẹ (LWP-Light Weight Process), cũng là một đơn vị cơ bản sử dụng CPU.
* So sánh:
- Luồng cũng có thông tin trạng thái như tiến trình truyền thống (Heavy Weight Process).
+ Nhiều luồng có thể cùng chung một mã chương trình.
- Tiến trình có thể có một luồng chính với nhiều luồng phụ. Mỗi luồng có khả năng chia sẻ tài nguyên với các luồng khác trong tiến trình.
P/s: Ai có câu hỏi và câu trả lời hãy post bài để cùng thảo luận nha!
lavansan(102c)- Tổng số bài gửi : 11
Join date : 17/02/2011
Age : 36
Đến từ : Bình Định
Re: Thảo luận về các câu hỏi bài 5
Tập luồng (Thread pools):
- Tiến trình cha tạo lập sẵn một tập luồng khi khởi động.
- Cc luồng trong tập luồng luơn sẵn sng chờ cơng việc.
- Khi tiến trình cha (ví dụ Web Server) nhận thm một yu cầu, một luồng được đnh thức v đưa vo vận hnh.
- Phục vụ xong, luồng được đưa trả về tập luồng.
- Nếu số yu cầu lớn hơn số luồng trong tập, tiến trình cha chờ đến khi cĩ luồng được giải phĩng.
- Tiến trình cha tạo lập sẵn một tập luồng khi khởi động.
- Cc luồng trong tập luồng luơn sẵn sng chờ cơng việc.
- Khi tiến trình cha (ví dụ Web Server) nhận thm một yu cầu, một luồng được đnh thức v đưa vo vận hnh.
- Phục vụ xong, luồng được đưa trả về tập luồng.
- Nếu số yu cầu lớn hơn số luồng trong tập, tiến trình cha chờ đến khi cĩ luồng được giải phĩng.
TruongThiMinhNgoc57(102C)- Tổng số bài gửi : 90
Join date : 17/02/2011
Đến từ : TPHCM
Bổ sung ích lợi đa luồng
Cảm ơn bạn!
Ích lợi:
+ Lập trình đa luồng dễ hơn lập trình đa tiến trình
+ Tạo mới một tiến trình lâu hơn tạo mới đa luồng
+ Liên lạc các luồng dễ hơn các tiến trình vì nó dùng chung
Ích lợi:
+ Lập trình đa luồng dễ hơn lập trình đa tiến trình
+ Tạo mới một tiến trình lâu hơn tạo mới đa luồng
+ Liên lạc các luồng dễ hơn các tiến trình vì nó dùng chung
TranThiTuyetNhung [i02c]- Tổng số bài gửi : 9
Join date : 17/02/2011
Bổ sung ý "Những lợi ích của đa luồng?"
- Khả năng đáp ứng (Responsiveness) tốt hơn: Trong khi một luồng bị ách hoặc quá bận, luồng khác vẫn vận hành bình thường (Luồng chính của trình duyệt vẫn tương tác với người dùng trong khi dữ liệu được lấy về).
- Chia sẻ tài nguyên (Resource Sharing): Theo mặc định, các luồng có thể dùng chung bộ nhớ và tài nguyên của luồng cha. Vài luồng cùng vận hành trong 1 vùng địa chỉ, do đó dễ dùng chung tài nguyên hơn so với trường hợp đa tiến trình.
- Tiết kiệm (Economy): Cấp phát bộ nhớ và tài nguyên cho tiến trình là công việc tốn kém. Do luồng chung tài nguyên với cha và các luồng khác, việc tạo lập và chuyển ngữ cảnh cũng nhanh hơn.
- Tận dụng được thế mạnh của kiến trúc đa xử lý: Đa luồng làm tăng tính song song trên hệ máy nhiều CPU. Mỗi luồng có thể chạy bởi CPU riêng
- Lập trình đa luồng dễ hơn lập trình đa tiến trình. Bởi vì trao đổi dữ liệu của lập trình đa luồng dễ hơn việc trao dữ liệu của lập trình đa tiến trình
- Chia sẻ tài nguyên (Resource Sharing): Theo mặc định, các luồng có thể dùng chung bộ nhớ và tài nguyên của luồng cha. Vài luồng cùng vận hành trong 1 vùng địa chỉ, do đó dễ dùng chung tài nguyên hơn so với trường hợp đa tiến trình.
- Tiết kiệm (Economy): Cấp phát bộ nhớ và tài nguyên cho tiến trình là công việc tốn kém. Do luồng chung tài nguyên với cha và các luồng khác, việc tạo lập và chuyển ngữ cảnh cũng nhanh hơn.
- Tận dụng được thế mạnh của kiến trúc đa xử lý: Đa luồng làm tăng tính song song trên hệ máy nhiều CPU. Mỗi luồng có thể chạy bởi CPU riêng
- Lập trình đa luồng dễ hơn lập trình đa tiến trình. Bởi vì trao đổi dữ liệu của lập trình đa luồng dễ hơn việc trao dữ liệu của lập trình đa tiến trình
teo(i11c)- Tổng số bài gửi : 42
Join date : 22/11/2010
So sánh đa luồng với đa tiến trình
1. Giống nhau:
- Điều có thông tin trạng thái
- Luồng còn được gọi là tiến trình nhẹ.
- Nhiều luồng hoặc nhiều tiến trình có thể liên quan đến 1 chương trình.
- Dùng chung tài nguyên từ tiến trình(hoạc luồng) cha.
- Cùng có chức năng xử lý song song.
- Chia sẻ tài nguyên cho nhau.
- Tăng tốc tính toán.
- Đảm bảo tính đơn thể.
2. Khác nhau:
- Do các luồng cùng vận hành trong cùng 1 địa chỉ vì vậy dễ dùng chung tài nguyên hơn đa tiến trình
- Do các luồng chung tài nguyên với cha và các luồng khác nên việc tạo lập và chuyển ngữ cảnh cũng nhanh hơn và ít chiếm tài nguyên hơn tiến trình.
- Cấp phát bộ nhớ và tài nguyên cho tiến trình thì tốn kém hơn luồng.
- Lập trình đa luồng thì dễ hơn lập trình đa tiến trình.
- Điều có thông tin trạng thái
- Luồng còn được gọi là tiến trình nhẹ.
- Nhiều luồng hoặc nhiều tiến trình có thể liên quan đến 1 chương trình.
- Dùng chung tài nguyên từ tiến trình(hoạc luồng) cha.
- Cùng có chức năng xử lý song song.
- Chia sẻ tài nguyên cho nhau.
- Tăng tốc tính toán.
- Đảm bảo tính đơn thể.
2. Khác nhau:
- Do các luồng cùng vận hành trong cùng 1 địa chỉ vì vậy dễ dùng chung tài nguyên hơn đa tiến trình
- Do các luồng chung tài nguyên với cha và các luồng khác nên việc tạo lập và chuyển ngữ cảnh cũng nhanh hơn và ít chiếm tài nguyên hơn tiến trình.
- Cấp phát bộ nhớ và tài nguyên cho tiến trình thì tốn kém hơn luồng.
- Lập trình đa luồng thì dễ hơn lập trình đa tiến trình.
teo(i11c)- Tổng số bài gửi : 42
Join date : 22/11/2010
2 ví dụ ứng dụng công nghệ đa luồng.
Lập trình xử lý công việc bán vé máy bay, gửi và rút tiền ở ngân hàng đều cần đến công nghệ đa luồng.
teo(i11c)- Tổng số bài gửi : 42
Join date : 22/11/2010
Re: Thảo luận về các câu hỏi bài 5
Thêm một so sánh đúng . Thanks Hoa . =^ _^ =
lamutdan-i92c- Tổng số bài gửi : 63
Join date : 19/10/2010
Age : 38
Những mô hình đa luồng
- Mô hình Many – to – One là nhiều User level threads được ánh xạ vào một Kernel Thread. Việc quản lý được thực hiện ở User Level, khi có một thread bị block thì toàn bộ các Process cũng bị block theo.
- Mô hình One – to – One là mỗi User level thread được gắn với một Kernel thread. Khi có một user thread mới được tạo ra thì cũng cần tạo một Kernel thread tương ứng, lúc này chi phí quá lớn.
- Mô hình Many – to – Many nhiều User level thread được phân chia ánh xạ vào một số Kernel thread. Tránh được các khuyết điếm của 2 mô hình trên.
- Mô hình One – to – One là mỗi User level thread được gắn với một Kernel thread. Khi có một user thread mới được tạo ra thì cũng cần tạo một Kernel thread tương ứng, lúc này chi phí quá lớn.
- Mô hình Many – to – Many nhiều User level thread được phân chia ánh xạ vào một số Kernel thread. Tránh được các khuyết điếm của 2 mô hình trên.
teo(i11c)- Tổng số bài gửi : 42
Join date : 22/11/2010
Re: Thảo luận về các câu hỏi bài 5
TruongThiMinhNgoc57(102C) đã viết:Tập luồng (Thread pools):
- Tiến trình cha tạo lập sẵn một tập luồng khi khởi động.
- Cc luồng trong tập luồng luơn sẵn sng chờ cơng việc.
- Khi tiến trình cha (ví dụ Web Server) nhận thm một yu cầu, một luồng được đnh thức v đưa vo vận hnh.
- Phục vụ xong, luồng được đưa trả về tập luồng.
- Nếu số yu cầu lớn hơn số luồng trong tập, tiến trình cha chờ đến khi cĩ luồng được giải phĩng.
Ngọc ơi câu cuối bị lỗi sửa lại giùm đi bạn ^^
teo(i11c)- Tổng số bài gửi : 42
Join date : 22/11/2010
Re: Thảo luận về các câu hỏi bài 5
Cám ơn bài viết của bạn!!!
Theo mình biết thì đa luồng sẽ tốn tài nguyên hơn đa tiến trình.
Đa luồng thì khi một luông bị ngắt thì không làm ảnh hưởng đễn các luồng khác và công việc vẫn được thực hiện.
Đa tiến trình thì khi một tiến trình bị lỗi hoặc bị ngắt thì làm cho chương trình bị lỗi luôn. Nhưng tuy vào trường hợp cụ thể thì sẽ dùng đa luồng hay đa tiến trình.
Theo mình biết thì đa luồng sẽ tốn tài nguyên hơn đa tiến trình.
Đa luồng thì khi một luông bị ngắt thì không làm ảnh hưởng đễn các luồng khác và công việc vẫn được thực hiện.
Đa tiến trình thì khi một tiến trình bị lỗi hoặc bị ngắt thì làm cho chương trình bị lỗi luôn. Nhưng tuy vào trường hợp cụ thể thì sẽ dùng đa luồng hay đa tiến trình.
NGUYENVANMANH(102C)- Tổng số bài gửi : 68
Join date : 23/02/2011
Re: Thảo luận về các câu hỏi bài 5
Đa luồng và đa tiến trình đều có ứng dụng thực tế. Cuộc sống và công việc của chúng ta nếu kg ứng dụng đa luồng và đa tiến trình thì sẽ tốn kém rất nhiều thời gian và hiệu quả công việc kg cao. Giống như câu tục ngữ "Một cây làm chẳng nên non, 3 cây chụm lại nên hòn núi cao".
Nhanh quá các bạn ơi, chúng ta lại chuẩn bị thi giữa kỳ và cuối kỳ rồi. Hồi hộp quá, kg bít khi nào thày tổ chức thi giữa kỳ nữa.
Nhanh quá các bạn ơi, chúng ta lại chuẩn bị thi giữa kỳ và cuối kỳ rồi. Hồi hộp quá, kg bít khi nào thày tổ chức thi giữa kỳ nữa.
QuachVanLoc_I92C- Tổng số bài gửi : 64
Join date : 23/09/2010
Re: Thảo luận về các câu hỏi bài 5
Đào Ngọc Hoa(i92c) đã viết:1. Giống nhau:
- Điều có thông tin trạng thái
- Luồng còn được gọi là tiến trình nhẹ.
- Nhiều luồng hoặc nhiều tiến trình có thể liên quan đến 1 chương trình.
- Dùng chung tài nguyên từ tiến trình(hoạc luồng) cha.
- Cùng có chức năng xử lý song song.
- Chia sẻ tài nguyên cho nhau.
- Tăng tốc tính toán.
- Đảm bảo tính đơn thể.
2. Khác nhau:
- Do các luồng cùng vận hành trong cùng 1 địa chỉ vì vậy dễ dùng chung tài nguyên hơn đa tiến trình
- Do các luồng chung tài nguyên với cha và các luồng khác nên việc tạo lập và chuyển ngữ cảnh cũng nhanh hơn và ít chiếm tài nguyên hơn tiến trình.
- Cấp phát bộ nhớ và tài nguyên cho tiến trình thì tốn kém hơn luồng.
- Lập trình đa luồng thì dễ hơn lập trình đa tiến trình.
Những chỗ khác nhau có bạn nào giúp mình cho ví dụ cụ thể dc ko?
teo(i11c)- Tổng số bài gửi : 42
Join date : 22/11/2010
Re: Thảo luận về các câu hỏi bài 5
1. Do luồng cùng vận hành trong 1 vùng địa chỉ vì vậy dể dùng chung tài nguyên hơn đa tiến trình
VD : Mượn đồ dùng trong gia đình thì dể hơn mượn của hàng xóm
2. Do luồng chung tài nguyên với cha & các luồng khác nên việc tạo lập & chuyển ngữ cảnh cũng
nhanh hơn tiến trình
VD : Việc ngăn riêng ra một phòng trong nhà thì nhanh hơn là chờ nhà nước cấp cho
một căn hộ
3. Cấp phát bộ nhớ & tài nguyên cho tiến trình thì tốn kém hơn luồng
4. Lập trình đa luồng thì dể hơn đa tiến trình
VD : Mượn đồ dùng trong gia đình thì dể hơn mượn của hàng xóm
2. Do luồng chung tài nguyên với cha & các luồng khác nên việc tạo lập & chuyển ngữ cảnh cũng
nhanh hơn tiến trình
VD : Việc ngăn riêng ra một phòng trong nhà thì nhanh hơn là chờ nhà nước cấp cho
một căn hộ
3. Cấp phát bộ nhớ & tài nguyên cho tiến trình thì tốn kém hơn luồng
4. Lập trình đa luồng thì dể hơn đa tiến trình
maivietthanh (i92c)- Tổng số bài gửi : 27
Join date : 23/02/2011
Re: Thảo luận về các câu hỏi bài 5
NGUYENVANMANH(102C) đã viết:Cám ơn bài viết của bạn!!!
Theo mình biết thì đa luồng sẽ tốn tài nguyên hơn đa tiến trình.
Đa luồng thì khi một luông bị ngắt thì không làm ảnh hưởng đễn các luồng khác và công việc vẫn được thực hiện.
Đa tiến trình thì khi một tiến trình bị lỗi hoặc bị ngắt thì làm cho chương trình bị lỗi luôn. Nhưng tuy vào trường hợp cụ thể thì sẽ dùng đa luồng hay đa tiến trình.
bạn có nói ngược không vậy? sao lại "đa luồng thì sẽ tốn tài nguyên hơn đa tiến trình" trong khi một lợi ích của đa luồng là tính kinh tế
vongocminhhoang (102C)- Tổng số bài gửi : 70
Join date : 17/02/2011
Re: Thảo luận về các câu hỏi bài 5
Ồ...cám ơn bạn nhé. Chắc mình viết lẹ quá nên không kịp coi lại.vongocminhhoang (102C) đã viết:NGUYENVANMANH(102C) đã viết:Cám ơn bài viết của bạn!!!
Theo mình biết thì đa luồng sẽ tốn tài nguyên hơn đa tiến trình.
Đa luồng thì khi một luông bị ngắt thì không làm ảnh hưởng đễn các luồng khác và công việc vẫn được thực hiện.
Đa tiến trình thì khi một tiến trình bị lỗi hoặc bị ngắt thì làm cho chương trình bị lỗi luôn. Nhưng tuy vào trường hợp cụ thể thì sẽ dùng đa luồng hay đa tiến trình.
bạn có nói ngược không vậy? sao lại "đa luồng thì sẽ tốn tài nguyên hơn đa tiến trình" trong khi một lợi ích của đa luồng là tính kinh tế
Phải là đa tiến trình nặng tốn resources hơn đa luồng.
NGUYENVANMANH(102C)- Tổng số bài gửi : 68
Join date : 23/02/2011
Thao luan ve caiu hoi bai 5
Thanks cac ban nhieu nha! minh dang rat can cai nay
huynhvanlau_I92C- Tổng số bài gửi : 67
Join date : 25/02/2011
Similar topics
» Thảo luận mọi vấn đề của Môn học
» Thảo luận Bài 4
» Thảo luận Bài 8
» Thảo luận Bài 2
» Thảo luận bộ nhớ ảo
» Thảo luận Bài 4
» Thảo luận Bài 8
» Thảo luận Bài 2
» Thảo luận bộ nhớ ảo
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết