2013-08-31 32 views
13

Sự khác nhau giữa Thư viện song song tác vụ và chờ đợi và không đồng bộ. Sự cần thiết để giới thiệu đang chờ đợi và không đồng bộ là gì? Tôi thấy TPL là một phần của C# 4.0 và đang chờ đợi/async là một phần của C# 5.0 nhưng ngoài việc đó là sự khác biệt cơ bản là gì. Nhu cầu giới thiệu từ khóa mới này là gì?Sự khác nhau giữa thư đang chờ và không đồng bộ và thư viện Task song song

+0

Điều quan trọng là soạn thảo. – Diryboy

+0

http://blogs.msdn.com/b/ericlippert/archive/2010/10/28/asynchrony-in-c-5-part-one.aspx – I4V

+1

TPL được phát hành cùng lúc với C# 4.0, nhưng đó là không phải là một phần của nó, nó là một phần của .Net 4.0. Không có gì trong C# 4.0 liên quan đến TPL. – svick

Trả lời

24

Thư viện song song nhiệm vụ được thiết kế cho parallel programming - khi bạn có nhiều việc phải làm và muốn chia nhỏ công việc đó giữa nhiều luồng để bạn có thể sử dụng tất cả các lõi CPU. TPL phù hợp nhất cho công việc chuyên sâu của CPU.

Không đồng bộ và chờ đợi là dành cho asynchronous programming - khi bạn có một thao tác (hoặc nhiều thao tác) sẽ hoàn thành trong tương lai và bạn muốn thực hiện những việc khác trong thời gian chờ đợi. Async phù hợp nhất cho công việc I/O-bound.

Có một số trùng lặp. Ví dụ, bạn có thể xử lý một phép tính song song như một phép toán không đồng bộ để nó không ràng buộc luồng UI của bạn. Ngoài ra, cả TPL và async/await đều sử dụng loại Task, mặc dù chúng sử dụng nó theo những cách rất khác nhau.

Các vấn đề liên quan