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ộ.


9
Nếu giao diện của tôi phải trả về Nhiệm vụ, cách tốt nhất để thực hiện không hoạt động là gì?
Trong mã bên dưới, do giao diện, lớp LazyBarphải trả về một tác vụ từ phương thức của nó (và đối với các đối số không thể thay đổi). Nếu LazyBarviệc triển khai không bình thường ở chỗ nó chạy nhanh và đồng bộ - cách tốt nhất để trả …

5
Sử dụng async / đang chờ cho nhiều tác vụ
Tôi đang sử dụng một ứng dụng khách API hoàn toàn không đồng nhất, nghĩa là, mỗi hoạt động đều trả về Taskhoặc Task<T>, ví dụ: static async Task DoSomething(int siteId, int postId, IBlogClient client) { await client.DeletePost(siteId, postId); // call API client Console.WriteLine("Deleted post {0}.", siteId); } Sử dụng …





4
Làm thế nào tôi có thể bảo Moq trả lại một Nhiệm vụ?
Tôi đã có một giao diện khai báo Task DoSomethingAsync(); Tôi đang sử dụng MoqFramework cho các bài kiểm tra của mình: [TestMethod()] public async Task MyAsyncTest() { Mock<ISomeInterface> mock = new Mock<ISomeInterface>(); mock.Setup(arg => arg.DoSomethingAsync()).Callback(() => { <my code here> }); ... } Sau đó, trong thử nghiệm của …




4
Parallel.ForEach vs Task.Factory.StartNew
Sự khác biệt giữa các đoạn mã dưới đây là gì? Cả hai sẽ không sử dụng chủ đề threadpool? Chẳng hạn, nếu tôi muốn gọi một hàm cho mỗi mục trong một bộ sưu tập, Parallel.ForEach<Item>(items, item => DoSomething(item)); vs foreach(var item in items) { Task.Factory.StartNew(() => DoSomething(item)); }



12
Gọi phương thức async một cách đồng bộ
Tôi có một asyncphương pháp: public async Task<string> GenerateCodeAsync() { string code = await GenerateCodeService.GenerateCodeAsync(); return code; } Tôi cần gọi phương thức này từ một phương thức đồng bộ. Làm thế nào tôi có thể làm điều này mà không phải sao chép GenerateCodeAsyncphương thức để nó hoạt động …

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.