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

115
Как ограничить количество одновременных операций асинхронного ввода-вывода?

// 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) => { var client = new HttpClient(); var html = await client.GetStringAsync(url); });...

103
Почему зависает это асинхронное действие?

У меня есть многоуровневое приложение .Net 4.5, вызывающее метод с использованием ключевых слов C # new asyncи, awaitкоторые просто зависают, и я не понимаю, почему. Внизу у меня есть асинхронный метод, который расширяет нашу утилиту базы данных OurDBConn(в основном оболочка для базовых объектов...

100
Исключения задачи не наблюдались ни при ожидании задачи, ни при доступе к ее свойству Exception. В результате ненаблюдаемое исключение было

Что это значит и как решить? Использую задачи TPL. Вся ошибка Исключения задачи не наблюдались ни при ожидании задачи, ни при доступе к ее свойству Exception. В результате ненаблюдаемое исключение было повторно создано потоком финализатора. в System.Threading.Tasks.TaskExceptionHolder.Finalize ()...

98
Текущий контекст синхронизации нельзя использовать в качестве планировщика задач.

Я использую задачи для выполнения длительных вызовов сервера в моей модели просмотра, и результаты снова упорядочиваются при Dispatcherиспользовании TaskScheduler.FromSyncronizationContext(). Например: var context = TaskScheduler.FromCurrentSynchronizationContext(); this.Message = "Loading...";...

98
Параметр по умолчанию для CancellationToken

У меня есть асинхронный код, к которому я хотел бы добавить CancellationToken. Однако есть много реализаций, в которых это не нужно, поэтому я хотел бы иметь параметр по умолчанию - возможно CancellationToken.None. Однако, Task<x> DoStuff(...., CancellationToken ct = null) дает Значение типа...

97
Пример async / await, вызывающий тупик

Я столкнулся с некоторыми передовыми практиками асинхронного программирования с использованием ключевых слов async/ awaitслов в C # (я новичок в C # 5.0). Один из полученных советов был следующим: Стабильность: знайте свои контексты синхронизации ... Некоторые контексты синхронизации не...

92
Правильный способ реализовать нескончаемую задачу. (Таймеры против задачи)

Итак, мое приложение должно выполнять действие почти непрерывно (с паузой в 10 секунд или около того между каждым запуском), пока приложение работает или запрашивается отмена. Необходимая работа может занять до 30 секунд. Не лучше ли использовать System.Timers.Timer и использовать AutoReset, чтобы...

91
Есть ли замена System.Threading.Timer на основе задач?

Я новичок в задачах .Net 4.0, и мне не удалось найти то, что, как я думал, будет заменой на основе задач или реализацией таймера, например периодической задачей. Что-то подобное существует? Обновление Я придумал то, что, как мне кажется, является решением моих потребностей, которое заключается в...

88
Рекомендуется ли использовать prevTask.Wait () с ContinueWith (из библиотеки задач)?

Поэтому мне недавно сказали, что то, как я использую .ContinueWith для задач, было неправильным способом их использования. Мне еще предстоит найти доказательства этого в Интернете, поэтому я спрошу вас, ребята, и посмотрю, какой будет ответ. Вот пример того, как я использую .ContinueWith: public...

87
Есть ли что-нибудь вроде асинхронного BlockingCollection <T>?

Я хотел бы получить awaitрезультат BlockingCollection<T>.Take()асинхронно, чтобы я не блокировал поток. Ищу что-нибудь подобное: var item = await blockingCollection.TakeAsync(); Я знаю, что могу это сделать: var item = await Task.Run(() => blockingCollection.Take()); но это как бы убивает...

87
Task.Run с параметрами?

Я работаю над многозадачным сетевым проектом, и я новичок Threading.Tasks. Я реализовал простой, Task.Factory.StartNew()и мне интересно, как мне это сделать Task.Run()? Вот базовый код: Task.Factory.StartNew(new Action<object>( (x) => { // Do something with 'x' }), rawData); Я заглянул...

83
Как я могу предотвратить синхронное продолжение задачи?

У меня есть код библиотеки (сети сокетов), который предоставляет TaskAPI-интерфейс для ожидающих ответов на запросы на основе TaskCompletionSource<T>. Однако в TPL есть недостаток, заключающийся в невозможности предотвратить синхронное продолжение. Я бы хотел либо: сообщить,...

83
Замена параллельной библиотеки задач для BackgroundWorker?

Есть ли в параллельной библиотеке задач что-нибудь, что можно было бы считать заменой или улучшением по сравнению с классом BackgroundWorker? У меня есть приложение WinForms с пользовательским интерфейсом в стиле мастера, и оно выполняет некоторые длительные задачи. Я хочу иметь гибкий...

83
Как лучше всего поймать исключение в задаче?

С System.Threading.Tasks.Task<TResult>, мне нужно управлять исключениями, которые могут быть выброшены. Я ищу лучший способ сделать это. До сих пор я создал базовый класс, который управляет всеми неперехваченными исключениями внутри вызова.ContinueWith(...) Мне интересно, есть ли лучший...

14
Почему продолжения Task.When Все выполняются синхронно?

Я только что сделал любопытное замечание относительно Task.WhenAllметода при работе на .NET Core 3.0. Я передал простую Task.Delayзадачу в качестве единственного аргумента Task.WhenAllи ожидал, что завернутая задача будет вести себя идентично исходной задаче. Но это не так. Продолжения исходной...