Запитання з тегом «task-parallel-library»

Паралельна бібліотека завдань є частиною .NET Framework з .NET 4. Це набір API, що дозволяє розробникам програмувати асинхронні програми.

3
Як створити завдання (TPL) із запуском потоку STA?
Використання Thread досить просто Thread thread = new Thread(MethodWhichRequiresSTA); thread.SetApartmentState(ApartmentState.STA); Як виконати те саме за допомогою Завдань у програмі WPF? Ось деякий код: Task.Factory.StartNew ( () => {return "some Text";} ) .ContinueWith(r => AddControlsToGrid(r.Result)); Я отримую InvalidOperationException з Викликаючий потік повинен бути STA, оскільки багато компонентів інтерфейсу вимагають цього.

4
Виклик асинхронних методів з неасинхронного коду
Я в процесі оновлення бібліотеки, яка має поверхню API, вбудовану в .NET 3.5. В результаті всі методи є синхронними. Я не можу змінити API (тобто перетворити повернені значення в Завдання), тому що для цього потрібно буде змінити всі абоненти. Тож я залишаюся з тим, як найкраще викликати асинхронні методи синхронно. …

4
Що таке метод заміни Task.Run в .NET 4.0 за допомогою C #?
Я отримав цю програму, яка видає мені синтаксичну помилку "System.Threading.Tasks.task не містить визначення для запуску." Я використовую VB 2010 .NET 4.0 Будь-які ідеї? будь-які заміни для запуску в .net 4.0? using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace ChatApp { class ChatProg { static void …

3
Чому продовження Task.WhenAll виконується синхронно?
Щойно я зробив цікаве спостереження щодо Task.WhenAllметоду під час роботи на .NET Core 3.0. Я передав просте Task.Delayзавдання як єдиний аргумент Task.WhenAll, і я очікував, що завершене завдання буде поводитися однаково з початковим завданням. Але це не так. Продовження початкового завдання виконується асинхронно (що бажано), а продовження декількох Task.WhenAll(task)обгортків виконується …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.