Результаты поиска по запросу "task-parallel-library"

2 ответа

 вызывать что-либо из другого потока, который изменит содержимое метки.

аюсь сделать свой интерфейс более отзывчивым в своем приложении WPF. Я создаю новую тему, используя Task.Factory.StartNew( () => RecurseAndDeleteStart() );В этом методеRecurseAndDeleteStart() Я хочу обновить метку в пользовательском интерфейсе с ...

1 ответ

Судя по потоку Стивена Тауба, на который вы ссылаетесь, я думаю, что он у вас задом наперед, когда вы говорите: «[дескриптор ожидания] необходим, чтобы позволить продолжениям задачи работать должным образом, и используется только тогда, когда есть продолжение задачи». Если есть без продолжения, метод Dispose для Task не имеет реального эффекта ... "Но, согласно Тубу," Task.Dispose существует из-за того, что Task потенциально переносит дескриптор события ... Если все, что вы делаете, использует продолжения, этот дескриптор события будет никогда не распределяются, и ценность Dispose значительно уменьшается ". то есть обратное тому, что вы подразумеваете выше.

есело работать сSystem.Threading.Tasks, Однако многие примеры кода, которые я вижу, выглядят примерно так: Dim lcTask = Task.Factory.StartNew(Sub() DoSomeWork()) Dim lcTaskLong = Task.Factory.StartNew(Sub() DoSomeWork(), ...

2 ответа

Асинхронный шаблон на основе событий (EAP)

у приложение, которое использует Socket, и оно будет очень интенсивным, тогда мне действительно нужно использовать каждое ядро, которое у нас есть на нашем большом сервере. Я вижу вопрос (Как использовать ThreadPool для параллельного запуска ...

ТОП публикаций

2 ответа

Блин, бесплатный обед остается неуловимым.

ел эти вопросыРекомендации по параллельному выполнению .NET HttpWebRequests в ASP.NET [https://stackoverflow.com/questions/1976073/recommendations-for-executing-net-httpwebrequests-in-parallel-in-asp-net] а такжеAsync.Parallel или ...

3 ответа

моя задача onError обработала исключение. Проблема в том, что задание onSuccess было отменено до его запуска. Когда WaitAll вызывает Wait (), это вызывает исключение «задача была отменена» ... это сбивает с толку.

ного озадачен тем, как использовать Задачи с условными продолжениями. Если у меня есть задача, а затем я хочу продолжить с задачами, которые обрабатывают успех и ошибку, а затем дождаться их завершения. void FunctionThrows() {throw new ...

4 ответа

 поэтому я могу написать модульные тесты, чтобы убедиться, что выполнение завершено. Вы можете смело игнорировать его при использовании.

чень нравится этот вопрос: Самый простой способ сделать огонь и забыть метод в C #? [https://stackoverflow.com/questions/1018610/simplest-way-to-do-a-fire-and-forget-method-in-c] Я просто хочу знать, что теперь, когда у нас есть параллельные ...

1 ответ

Повышение приоритета, однако, должно выполняться только для задач, которые должны быстро реагировать и иметь короткое время выполнения, поскольку это может негативно повлиять на другие процессы.

ернете и переполнении стека есть много мест, где не рекомендуется менять приоритетThreadPoolпоток или TPLзадача, В частности: «У вас нет контроля над состоянием и приоритетом потока пула потоков». «Среда выполнения управляет пулом потоков. У вас ...

2 ответа

, он предполагает, что ваша задача завершится быстро (чего не происходит), поэтому она остается в пределах потока. Затем, если вы создаете больше задач, чем ограничено потоками, и выполняемые задачи никогда не заканчиваются, TPL останавливает все остальные задачи, ожидая напрасно, чтобы те запущенные задачи были завершены (что они никогда не будут делать).

я есть движок с произвольным числом опрошенных, каждый из которых проводит свой опрос каждые несколько секунд. Я хочу, чтобы поллеры запускались в разных потоках, но каждый «опрос» в одном поллере должен быть последовательным, чтобы один ...

6 ответов

 блокирует слишком много времени, затем вы начинаете получать узкие места, так как «обратный вызов» в ContinueWith выполняется из рабочего пула потоков.

ом из моих проектов, который является своего рода агрегатором, я анализирую каналы, подкасты и т. Д. Из Интернета. Если я использую последовательный подход, учитывая большое количество ресурсов, то на их обработку уходит довольно много времени ...

0 ответов

Фактически, тот факт, что пример 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 ...