Описание тега parallel-extensions

Parallel Extensions - это управляемая библиотека параллелизма, включенная в выпуск.NET 4.0.
2 ответа

Загрузите список более эффективно

Мне было поручено обновить какой-то устаревший код, и мне действительно нужно сократить время выполнения его части. Список ниже загружается довольно часто. Мне удалось сократить время примерно с минуты до пятнадцати секунд, но мне действительно нужн…
11 мар '13 в 21:19
6 ответов

Перечислите<T> поток безопасности

Я использую код ниже var processed = new List&lt;Guid&gt;(); Parallel.ForEach(items, item =&gt; { processed.Add(SomeProcessingFunc(item)); }); Является ли приведенный выше поток кода безопасным? Существует ли вероятность повреждения обработанного сп…
3 ответа

Передача значений с помощью параллельных расширений и VB.net

Я ищу пример того, как сделать следующее в VB.net с параллельными расширениями. Dim T As Thread = New Thread(AddressOf functiontodowork) T1.Start(InputValueforWork) Я застрял в том, как передать в задачу мой параметр InputValueforWork. Dim T As Task…
2 ответа

VB.NET 4.0 Parallel.ForEach AddressOf Несколько значений?

Я пытаюсь перейти от делегатов к Parallel.ForEach Я вижу, что ниже работает нормально. Imports System.Threading.Tasks Sub Main() Dim secs() As Integer = {2, 3, 1} Parallel.ForEach(secs, AddressOf Method2) End Sub Sub Method2(ByVal i As Integer) Cons…
05 ноя '11 в 00:46
2 ответа

Неправильная попытка вызова Read, когда читатель закрыт

У меня есть несколько частей кода в разных классах, которые используют этот или очень похожий код для извлечения некоторых данных из базы данных SQL Server. Большинство из них работают, но я сталкиваюсь с проблемой некоторых и действительно не поним…
29 окт '12 в 14:14
1 ответ

Многопоточный доступ к SubmitChanges() (LINQ to SQL)

Я использую Visual Studio 2010 Beta 2. В цикле Parallel.For я выполняю один и тот же метод с разными значениями параметров. После выполнения обработанные данные должны быть сохранены в базе данных. Но у меня есть исключение, которое говорит, что я н…
1 ответ

Параллельный алгоритм грубой силы

Поэтому я посмотрел на http://codahale.com/how-to-safely-store-a-password/ и мне стало любопытно, как быстро можно использовать различные хэши на довольно мощном настольном компьютере, и я испытал желание протестировать его Большинство алгоритмов, к…
16 дек '10 в 17:03
2 ответа

Обновление прогресса в циклах Parallel.For()

Как вы можете догадаться, индекс цикла Parallel.For() переходит от одного значения к другому. Как я могу оценить объем проделанной работы? Благодарю.
21 окт '10 в 09:29
2 ответа

Используя Parallel Linq Extensions для объединения двух последовательностей, как можно сначала получить самые быстрые результаты?

Допустим, у меня есть две последовательности, возвращающие целые числа от 1 до 5. Первый возвращает 1, 2 и 3 очень быстро, но 4 и 5 занимают 200 мс каждый. public static IEnumerable&lt;int&gt; FastFirst() { for (int i = 1; i &lt; 6; i++) { if (i &gt…
1 ответ

Выбор минимума среди минимумов с помощью Parallel.ForEach

Я новичок в C#, Parallel.ForEachи.NET в целом. Я хочу распараллелить поиск, который включает тысячи местоположений. Для каждого местоположения я вычисляю большое расстояние по кругу. Это расчет, который я хочу распространить на разные ядра. Мой вопр…
1 ответ

Как эффективно распараллелить метод LINQ Except

Мне было интересно, как это может быть достигнуто наиболее эффективным способом. Должен ли я использовать a.RemoveAll(x =&gt; b.AsParallel().Any(y =&gt; y == x)); или же a.AsParallel().Except(b.AsParallel()); или что-то другое? Кто-нибудь может объя…
2 ответа

Java параллельное выполнение на многоядерных

Я хотел бы знать, существует ли способ распараллеливания запросов в Java (или есть фреймворк или библиотека), как в C# и Linq: var query = from item in source.AsParallel().WithDegreeOfParallelism(2) where Compute(item) &gt; 42 select item; и если я …
13 окт '12 в 15:20
1 ответ

Причины параллельного расширения работают медленно

Я пытаюсь сделать мое вычислительное приложение быстрее, используя Parallel Extensions. Я новичок в этом, поэтому я только что заменил основной цикл foreach на Parallel.ForEach. Но расчет стал медленнее. Какие могут быть общие причины снижения произ…
28 май '10 в 08:05
3 ответа

При именовании потока внутри Parallel.Invoke возникает исключение "Это свойство уже установлено и не может быть изменено".

У меня есть приложение, которое долгое время работало без проблем, которое внезапно не запускается из-за следующей ошибки: Msgstr "Это свойство уже установлено и не может быть изменено." Когда я проверяю код, который в основном напоминает приведенны…
16 июл '15 в 10:59
4 ответа

Эквивалент параллельных расширений в Java

У меня есть некоторый опыт использования параллельных расширений в разработке.Net, но я искал работу на Java, которая выиграла бы от простой в использовании библиотеки параллелизма. Предлагает ли JVM какие-либо сопоставимые инструменты для параллель…
03 июл '09 в 02:46
1 ответ

Как передать разные диапазоны на parallel.for?

Мне нужно обрабатывать один файл параллельно, посылая счет пропуска, как 1-1000, 1001-2000,2001-3000 и т. Д. Код для параллельного процесса var line = File.ReadAllLines("D:\\OUTPUT.CSV").Length; Parallel.For(1, line, new ParallelOptions { MaxDegreeO…
1 ответ

Разбиение в TPL с использованием Partitioner

Я вижу небольшую разницу в производительности между следующими двумя функционально похожими кодами, я надеюсь, что кто-то сможет помочь мне понять, почему есть разница. //Case 1 Faster Parallel.ForEach(data, x =&gt; func(x)) //Case 2 Slower Parallel…
2 ответа

Бросить исключение внутри задачи - "ожидание" против ожидания ()

static async void Main(string[] args) { Task t = new Task(() =&gt; { throw new Exception(); }); try { t.Start(); t.Wait(); } catch (AggregateException e) { // When waiting on the task, an AggregateException is thrown. } try { t.Start(); await t; } c…
3 ответа

Task.WaitAll в списке в F#

Я делаю параллельное программирование с использованием F#. С фиксированным количеством элементов, например, с 2 элементами a1, a2 и функцией f, я могу сделать следующее: let t1 = Task.Factory.StartNew(fun () -&gt; f a1) let t2 = Task.Factory.StartNe…
0 ответов

Параллельно обрабатывать список элементов веб-запроса максимально быстро

У меня есть партия URL, которые я хочу получить. Список содержит URL-адреса (более 50 000) с разными именами доменов, но все домены используют один и тот же ip сервера с балансировкой нагрузки. Для каждого URL я хочу записать его код результата, его…