2009-05-29 23 views
12

Có một tập hợp dài các tác vụ rời rạc: phân tích 10s của hàng nghìn dòng từ một tệp văn bản, bổ sung vào các đối tượng, thao tác và lưu giữ.Có một Net tương đương với java.util.concurrent.Executor không?

Nếu tôi đang triển khai thực hiện điều này trong Java, tôi cho rằng tôi có thể thêm nhiệm vụ mới vào Trình xử lý cho mỗi dòng trong tệp hoặc tác vụ trên mỗi dòng X (tức là khối).

Đối với. Net, đó là những gì tôi đang sử dụng, tôi không chắc chắn như vậy. Tôi có một nghi ngờ có lẽ CCR có thể thích hợp ở đây, nhưng tôi không quen thuộc với nó, đó là lý do tại sao tôi đặt ra câu hỏi này.

Chức năng CCR có thể tương đương với Java Executors không, hoặc có cái gì khác có sẵn không?

Cảm ơn

Trả lời

5

Bạn có thể muốn xem Task Parallel Library.

Kể từ C# 5, điều này được tích hợp vào ngôn ngữ bằng cách sử dụng các từ khóa asyncawait.

+0

Liên kết dường như bị hỏng. –

0

Lớp BackgroundWorker có lẽ là những gì bạn đang tìm kiếm. Như tên của nó, nó cho phép bạn chạy các tác vụ nền, với tính năng tổng hợp được quản lý tự động và các sự kiện cập nhật trạng thái.

+1

Trình thực thi của Java có thể làm được nhiều hơn thế. Xem http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ThreadPoolExecutor.html ví dụ. –

1

Nếu bạn định yêu cầu một nhóm người .NET gần nhất tương đương với Java Excecutors, nó có thể không gây tổn thương để mô tả các tính năng phân biệt của Java Executors. Người biết câu trả lời của bạn có thể không quen thuộc với Java hơn là với .NET.

Điều đó nói rằng, nếu Thư viện song song nhiệm vụ đã đề cập là quá mức cần thiết cho nhu cầu của bạn hoặc bạn không muốn đợi .NET 4.0, có lẽ ThreadPool.QueueUserWorkItem() sẽ là những gì bạn đang tìm kiếm.

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