Câu hỏi được gắn thẻ «task-parallel-library»

Thư viện song song tác vụ là một phần của .NET Framework kể từ .NET 4. Đây là một bộ API để cho phép các nhà phát triển lập trình các ứng dụng không đồng bộ.

5
Tại sao CancellingToken tách biệt với CancellingTokenSource?
Tôi đang tìm kiếm một lý do tại sao .NET CancellationTokenstruct được giới thiệu ngoài CancellationTokenSourcelớp. Tôi hiểu cách sử dụng API, nhưng cũng muốn hiểu tại sao nó được thiết kế theo cách đó. Tức là tại sao chúng ta có: var cts = new CancellationTokenSource(); SomeCancellableOperation(cts.Token); ... public …


5
Tại sao tôi nên chọn một nhiệm vụ 'đang chờ Nhiệm vụ.When ALL' hơn nhiều lần chờ đợi?
Trong trường hợp tôi không quan tâm đến thứ tự hoàn thành nhiệm vụ và chỉ cần tất cả chúng để hoàn thành, tôi vẫn nên sử dụng await Task.WhenAllthay vì nhiều await? ví dụ: DoWork2bên dưới một phương thức ưa thích để DoWork1(và tại sao?): using System; using System.Threading.Tasks; …

5
Tạo một tác vụ hoàn thành <T>
Tôi đang thực hiện một phương thức Task&lt;Result&gt; StartSomeTask()và tình cờ biết kết quả đã có trước khi phương thức được gọi. Làm cách nào để tạo một Tác vụ &lt;T&gt; đã hoàn thành? Đây là những gì tôi đang làm: private readonly Result theResult = new Result(); public override …

3
Việc không gọi Dispose () trên một đối tượng TPL Task có được coi là chấp nhận được không?
Tôi muốn kích hoạt một tác vụ để chạy trên một chuỗi nền. Tôi không muốn chờ đợi khi hoàn thành nhiệm vụ. Trong .net 3.5, tôi sẽ làm điều này: ThreadPool.QueueUserWorkItem(d =&gt; { DoSomething(); }); Trong .net 4, TPL là cách được đề xuất. Mô hình phổ biến mà …


3
Lợi thế của việc sử dụng async với MVC5 là gì?
Sự khác biệt giữa: public ActionResult Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { IdentityResult result = IdentityManager.Authentication.CheckPasswordAndSignIn(AuthenticationManager, model.UserName, model.Password, model.RememberMe); if (result.Success) { return Redirect("~/home"); } else { AddErrors(result); } } return View(model); } và: [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public async Task&lt;ActionResult&gt; Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { …


2
Sự khác biệt giữa await và ContinueWith
Ai đó có thể giải thích nếu awaitvà ContinueWithđồng nghĩa hay không trong ví dụ sau. Tôi đang cố gắng sử dụng TPL lần đầu tiên và đã đọc tất cả các tài liệu, nhưng không hiểu sự khác biệt. Chờ đợi : String webText = await getWebPage(uri); await parseData(webText); …


13
Làm thế nào để hạn chế số lượng hoạt động I / O không đồng bộ đồng thời?
// let's say there is a list of 1000+ URLs string[] urls = { "http://google.com", "http://yahoo.com", ... }; // now let's send HTTP requests to each of these URLs in parallel urls.AsParallel().ForAll(async (url) =&gt; { var client = new HttpClient(); var html = await client.GetStringAsync(url); }); Đây là vấn đề, …


3
(Các) ngoại lệ của Tác vụ không được quan sát bằng cách Chờ trên Tác vụ hoặc truy cập thuộc tính Ngoại lệ của nó. Kết quả là, ngoại lệ không được quan sát là
Điều này có nghĩa là gì và làm thế nào để giải quyết nó? Tôi đang sử dụng các tác vụ TPL. Toàn bộ lỗi (Các) ngoại lệ của Tác vụ không được quan sát bằng cách Chờ trên Tác vụ hoặc truy cập thuộc tính Ngoại lệ của nó. …


3
SynchronizationContext hiện tại có thể không được sử dụng làm TaskScheduler
Tôi đang sử dụng Tasks để chạy các lệnh gọi máy chủ đang chạy trong thời gian dài trong ViewModel của mình và kết quả được sắp xếp lại khi Dispatchersử dụng TaskScheduler.FromSyncronizationContext(). Ví dụ: var context = TaskScheduler.FromCurrentSynchronizationContext(); this.Message = "Loading..."; Task task = Task.Factory.StartNew(() =&gt; { ... }) …

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.