Результаты поиска по запросу "task-parallel-library"
вызывать что-либо из другого потока, который изменит содержимое метки.
аюсь сделать свой интерфейс более отзывчивым в своем приложении WPF. Я создаю новую тему, используя Task.Factory.StartNew( () => RecurseAndDeleteStart() );В этом методеRecurseAndDeleteStart() Я хочу обновить метку в пользовательском интерфейсе с ...
Судя по потоку Стивена Тауба, на который вы ссылаетесь, я думаю, что он у вас задом наперед, когда вы говорите: «[дескриптор ожидания] необходим, чтобы позволить продолжениям задачи работать должным образом, и используется только тогда, когда есть продолжение задачи». Если есть без продолжения, метод Dispose для Task не имеет реального эффекта ... "Но, согласно Тубу," Task.Dispose существует из-за того, что Task потенциально переносит дескриптор события ... Если все, что вы делаете, использует продолжения, этот дескриптор события будет никогда не распределяются, и ценность Dispose значительно уменьшается ". то есть обратное тому, что вы подразумеваете выше.
есело работать сSystem.Threading.Tasks, Однако многие примеры кода, которые я вижу, выглядят примерно так: Dim lcTask = Task.Factory.StartNew(Sub() DoSomeWork()) Dim lcTaskLong = Task.Factory.StartNew(Sub() DoSomeWork(), ...
Асинхронный шаблон на основе событий (EAP)
у приложение, которое использует Socket, и оно будет очень интенсивным, тогда мне действительно нужно использовать каждое ядро, которое у нас есть на нашем большом сервере. Я вижу вопрос (Как использовать ThreadPool для параллельного запуска ...
Блин, бесплатный обед остается неуловимым.
ел эти вопросыРекомендации по параллельному выполнению .NET HttpWebRequests в ASP.NET [https://stackoverflow.com/questions/1976073/recommendations-for-executing-net-httpwebrequests-in-parallel-in-asp-net] а такжеAsync.Parallel или ...
моя задача onError обработала исключение. Проблема в том, что задание onSuccess было отменено до его запуска. Когда WaitAll вызывает Wait (), это вызывает исключение «задача была отменена» ... это сбивает с толку.
ного озадачен тем, как использовать Задачи с условными продолжениями. Если у меня есть задача, а затем я хочу продолжить с задачами, которые обрабатывают успех и ошибку, а затем дождаться их завершения. void FunctionThrows() {throw new ...
поэтому я могу написать модульные тесты, чтобы убедиться, что выполнение завершено. Вы можете смело игнорировать его при использовании.
чень нравится этот вопрос: Самый простой способ сделать огонь и забыть метод в C #? [https://stackoverflow.com/questions/1018610/simplest-way-to-do-a-fire-and-forget-method-in-c] Я просто хочу знать, что теперь, когда у нас есть параллельные ...
Повышение приоритета, однако, должно выполняться только для задач, которые должны быстро реагировать и иметь короткое время выполнения, поскольку это может негативно повлиять на другие процессы.
ернете и переполнении стека есть много мест, где не рекомендуется менять приоритетThreadPoolпоток или TPLзадача, В частности: «У вас нет контроля над состоянием и приоритетом потока пула потоков». «Среда выполнения управляет пулом потоков. У вас ...
, он предполагает, что ваша задача завершится быстро (чего не происходит), поэтому она остается в пределах потока. Затем, если вы создаете больше задач, чем ограничено потоками, и выполняемые задачи никогда не заканчиваются, TPL останавливает все остальные задачи, ожидая напрасно, чтобы те запущенные задачи были завершены (что они никогда не будут делать).
я есть движок с произвольным числом опрошенных, каждый из которых проводит свой опрос каждые несколько секунд. Я хочу, чтобы поллеры запускались в разных потоках, но каждый «опрос» в одном поллере должен быть последовательным, чтобы один ...
блокирует слишком много времени, затем вы начинаете получать узкие места, так как «обратный вызов» в ContinueWith выполняется из рабочего пула потоков.
ом из моих проектов, который является своего рода агрегатором, я анализирую каналы, подкасты и т. Д. Из Интернета. Если я использую последовательный подход, учитывая большое количество ресурсов, то на их обработку уходит довольно много времени ...
Фактически, тот факт, что пример PLINQ использует ToDictionary, теоретически должен сделать его медленнее, поскольку элементы не могут быть добавлены параллельно в отличие от ConcurrentDictionary <K, V>. Фактически, если вы посмотрите на реализацию ToDictionary в ParallelEnumerable, он фактически извлекает элементы из параллельного запроса в восходящем направлении, когда они становятся доступными последовательным способом, чтобы добавлять их в Словарь <K, V> по одному. Так что, по крайней мере, его Parallel :: ForEach должен работать лучше. Смотрите мой ответ, почему я думаю, что это не так.
е: Я изменил с System.Threading.Tasks.Parallel.ForEach и Concurrent Data структуры на простой запрос plinq (Parallel Linq). Ускорение былоудивительно. Так по сути, plinq быстрее, чем Parallel.ForEach? Или это специфично для задачи. // Original ...