Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
 Аватар для Rodion2703
24 / 20 / 5
Регистрация: 06.01.2013
Сообщений: 819

Parallel.For в цикле. Оптимизация

29.07.2017, 18:32. Показов 1813. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем шалом!

Как оптимизировать данный цикл?

C#
1
2
while (update(Combos))
    Parallel.For(0, Combos.Length, delegate (int i) { Combos[i].Process_Tick(); });
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.07.2017, 18:32
Ответы с готовыми решениями:

Eвклидова норма вектора с помощью метода Parallel.For и Parallel.Invoke
Имеется прога (евклидова норма вектора) Преобразовать её, чтобы распараллеливание шло методом методом Parallel.For и Parallel.Invoke ...

Получение данных из Parallel.For или Parallel.ForEach
Есть некоторый список с исходными данными (данные не зависят друг от друга). Исходя из этих данных необходимо провести некоторые вычисления...

Parallel.ForEach в цикле
Добрый день. Возникла проблема с написанием небольшого WPF приложения. В C# новичок и с потоками только знакомлюсь. Имеется бесконечный...

5
 Аватар для Fleder
263 / 224 / 108
Регистрация: 09.12.2015
Сообщений: 652
29.07.2017, 18:56
Цитата Сообщение от Rodion2703 Посмотреть сообщение
Как оптимизировать данный цикл?
Оптимизировать? В каком смысле? Оптимизировать по расходу памяти? Оптимизировать по количеству процессорного времени?
0
 Аватар для Rodion2703
24 / 20 / 5
Регистрация: 06.01.2013
Сообщений: 819
29.07.2017, 19:06  [ТС]
Fleder, как оптимизировать данный цикл по времени?
0
 Аватар для Fleder
263 / 224 / 108
Регистрация: 09.12.2015
Сообщений: 652
29.07.2017, 19:10
Цитата Сообщение от Rodion2703 Посмотреть сообщение
как оптимизировать данный цикл по времени?
Цикл - никак. Чтобы работало быстрее надо оптимизировать эту процедуру
C#
1
Process_Tick()
.
1
 Аватар для Rodion2703
24 / 20 / 5
Регистрация: 06.01.2013
Сообщений: 819
29.07.2017, 19:12  [ТС]
Fleder, вы уверены? Ведь каждый вызов Parallel.For создаёт и уничтожает потоки. Update(Combos) срабатывает порядка миллиона раз. Если бы через какой-нибудь менеджер потоков можно было бы их создать, а потом при необходимости начинать с обновленными данными, то мб это бы увеличило скорость, имхо
0
 Аватар для Fleder
263 / 224 / 108
Регистрация: 09.12.2015
Сообщений: 652
29.07.2017, 19:16
Лучший ответ Сообщение было отмечено Rodion2703 как решение

Решение

Цитата Сообщение от Rodion2703 Посмотреть сообщение
Ведь каждый вызов Parallel.For создаёт и уничтожает потоки
Потоки не создаются и не уничтожаются. Они берутся из пула потоков и после отработки возвращаются обратно.

Добавлено через 1 минуту
Можете тут почитать.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.07.2017, 19:16
Помогаю со студенческими работами здесь

Оптимизация кода. Переменные в цикле
Рассматривая свой ранее написанный код и думая, что можно улучшить, задался следующим теоретическим вопросом. Пользователь вводит данные...

Оптимизация запросов. Запросы в цикле - зло
Здравствуйте. При написании скрипта столкнулся с проблемой выборки по циклу. Скрипт работает очень медленно из за большого количества...

Оптимизация запроса БД в цикле, сравнение массивов
Всем привет! У меня есть некий код - цикл в цикле, второй цикл ссылается на значение из первого. Проблема в том, что в каждом цикле...

Типы оптимизация: черная оптимизация, серая оптимизация и белая оптимизация
Много много лет назад, на заре становления профессии "оптимизатора" в какой то умной книжке был создан миф. Это миф о цветовой индефикации...

Оптимизация методом Ньютона (нахождение точки минимума). Оптимизация кода
MATLAB только начал осваивать. Попытался реализовать нахождение точки минимума методом Ньютона для функции 2*X12 - X1*X2 + 3*X22 -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Программный отбор значения справочника
Maks 21.03.2026
Процедура ВодителиНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) / / Отключаем стандартную обработку (стандартное открытие формы выбора без фильтров) . . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru