Вопросы с тегом «task-parallel-library»

Библиотека параллельных задач является частью .NET Framework начиная с .NET 4. Это набор API, позволяющий разработчикам программировать асинхронные приложения.

4
Рекомендуется вызывать ConfigureAwait для всего кода на стороне сервера
Когда у вас есть серверный код (то есть какой-то ApiController), и ваши функции асинхронны - поэтому они возвращаются Task<SomeObject>- считается ли наилучшей практикой всякий раз, когда вы ожидаете функции, которые вы вызываете ConfigureAwait(false)? Я читал, что он более производительный, так как он не должен переключать контексты потока обратно в исходный …

9
Если мой интерфейс должен вернуть Task, каков наилучший способ реализации без операции?
В приведенном ниже коде из-за интерфейса класс LazyBarдолжен возвращать задачу из своего метода (и ради аргументов не может быть изменен). Если LazyBarреализация s необычна в том смысле, что она выполняется быстро и синхронно - каков наилучший способ вернуть задачу No-Operation из метода? Я пошел с Task.Delay(0)ниже, однако я хотел бы …

5
Использование async / await для нескольких задач
Я использую клиент API, который является полностью асинхронным, то есть каждая операция либо возвращает, Taskлибо Task<T>, например: static async Task DoSomething(int siteId, int postId, IBlogClient client) { await client.DeletePost(siteId, postId); // call API client Console.WriteLine("Deleted post {0}.", siteId); } Используя асинхронные / ожидающие операторы C # 5, каков правильный / …

15
Асинхронно ожидайте завершения задачи <T> с тайм-аутом
Я хочу подождать, пока Задание &lt;T&gt; завершится с некоторыми специальными правилами: если оно не завершилось через X миллисекунд, я хочу отобразить сообщение для пользователя. И если он не завершился через Y миллисекунд, я хочу автоматически запросить отмену . Я могу использовать Task.ContinueWith для асинхронного ожидания завершения задачи (т. Е. Запланировать …

4
Когда использовать Task.Delay, когда использовать Thread.Sleep?
Есть хорошие правила для использования Task.Delay против Thread.Sleep ? В частности, существует ли минимальное значение для обеспечения того, чтобы один был эффективным / действенным по сравнению с другим? Наконец, поскольку Task.Delay вызывает переключение контекста на автомате асинхронного ожидания / ожидания, есть ли издержки его использования?

8
В чем разница между задачей и потоком?
В C # 4.0 мы имеем Taskв пространстве имен System.Threading.Tasks . В чем истинная разница между Threadи Task. Я сделал несколько примеров программ (помощь взята из MSDN) для собственного обучения Parallel.Invoke Parallel.For Parallel.ForEach но есть много сомнений, так как идея не так ясна. Сначала я искал в Stackoverflow вопрос похожего …

4
WaitAll vs WhenAll
В чем разница между Task.WaitAll()и Task.WhenAll()из Async CTP? Можете ли вы предоставить пример кода для иллюстрации различных вариантов использования?

4
Как я могу сказать Moq вернуть задание?
У меня есть интерфейс, который объявляет Task DoSomethingAsync(); Я использую MoqFramework для своих тестов: [TestMethod()] public async Task MyAsyncTest() { Mock&lt;ISomeInterface&gt; mock = new Mock&lt;ISomeInterface&gt;(); mock.Setup(arg =&gt; arg.DoSomethingAsync()).Callback(() =&gt; { &lt;my code here&gt; }); ... } Затем в моем тесте я выполняю код, который вызывает await DoSomethingAsync(). И тест просто …

11
Как безопасно вызвать асинхронный метод в C # без ожидания
У меня есть asyncметод, который не возвращает данных: public async Task MyAsyncMethod() { // do some stuff async, don't return any data } Я вызываю это из другого метода, который возвращает некоторые данные: public string GetStringData() { MyAsyncMethod(); // this generates a warning and swallows exceptions return "hello world"; } …

4
Синхронно ожидает асинхронную операцию и почему Wait () останавливает программу здесь
Предисловие : я ищу объяснение, а не просто решение. Я уже знаю решение. Несмотря на то, что я потратил несколько дней на изучение статей MSDN об асинхронном шаблоне на основе задач (TAP), асинхронности и ожидания, я все еще немного озадачен некоторыми мелочами. Я пишу регистратор для приложений Магазина Windows и …

6
Поймать исключение, выданное асинхронным пустым методом
Используя асинхронную CTP от Microsoft для .NET, возможно ли перехватить исключение, вызванное асинхронным методом в вызывающем методе? public async void Foo() { var x = await DoSomethingAsync(); /* Handle the result, but sometimes an exception might be thrown. For example, DoSomethingAsync gets data from the network and the data is …

4
Parallel.ForEach vs Task.Factory.StartNew
В чем разница между приведенными ниже фрагментами кода? Не будут ли оба использовать потоки потоков? Например, если я хочу вызвать функцию для каждого элемента в коллекции, Parallel.ForEach&lt;Item&gt;(items, item =&gt; DoSomething(item)); vs foreach(var item in items) { Task.Factory.StartNew(() =&gt; DoSomething(item)); }

8
Запуск нескольких асинхронных задач и ожидание их завершения
Мне нужно запустить несколько асинхронных задач в консольном приложении и дождаться их завершения перед дальнейшей обработкой. Есть много статей, но я, кажется, растерялся, когда больше читаю. Я прочитал и понял основные принципы библиотеки задач, но мне явно не хватает ссылки где-то. Я понимаю, что можно объединить задачи так, чтобы они …

10
Ожидание нескольких задач с разными результатами
У меня есть 3 задачи: private async Task&lt;Cat&gt; FeedCat() {} private async Task&lt;House&gt; SellHouse() {} private async Task&lt;Tesla&gt; BuyCar() {} Все они должны быть запущены, прежде чем мой код сможет продолжить работу, и мне нужны результаты каждого из них. Ни один из результатов не имеет ничего общего друг с другом …

12
Вызов асинхронного метода синхронно
У меня есть asyncметод: public async Task&lt;string&gt; GenerateCodeAsync() { string code = await GenerateCodeService.GenerateCodeAsync(); return code; } Мне нужно вызвать этот метод из синхронного метода. Как я могу сделать это, не дублируя GenerateCodeAsyncметод, чтобы он работал синхронно? Обновить Пока не найдено разумного решения. Тем не менее, я вижу, что HttpClientуже …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.