Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 18.08.2014
Сообщений: 6

Как выполнить цикл в несколько потоков с использованием Task?

16.09.2014, 15:57. Показов 3490. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо что бы в цикле for создавались потоки, которые выполняют функции, а все игнорируется...
что же делать?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private void GetPrice()
        {
            for (int i = 0; i < textList.Count; i++)
            {
                
                var scan = new TextScanner(textList[i]);
                var t1 = new Task(() =>{
 
                scan.Skip("{");
                string tmpName = scan.ReadTo("}");
 
                               
                    int a = calculate.price(tmpCost, tmpSite);
                    int b = calculate.price(tmpeToken, tmpSite);
 
                    baseDataList.Add(new Price() {Name = tmpName, Site = tmpSite, Cost = a, eToken = b});
                   
               });
               t1.Start();
                
            }            
        }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.09.2014, 15:57
Ответы с готовыми решениями:

Разбить цикл на несколько потоков
Добрый день! Есть известный int N=10000, необходимо создать несколько потоков с циклами (for int x=0; x&lt;N;x++) { ...

Не выполняется бесконечный цикл в несколько потоков
using System; namespace BCL_AC_ { class Program { public static void Main(string args) { for (int i = 0; i &lt;...

Цикл в несколько потоков для работы с множеством страниц HTML
Есть цикл в нем самая долгоиграющая задача выполнение функции GetContentCurentPage, суть сводится к тому что-бы загрузить HTML страницу и...

3
 Аватар для cer
8 / 19 / 9
Регистрация: 16.09.2014
Сообщений: 102
16.09.2014, 16:23
Как я понимаю, область памяти выделенная внутри цикла на его нужды очищается по его окончанию, следовательно все что было создано внутри цикла умирает по его окончанию. Либо надо синхронизивать чтобы цикл не завершался до окончания потока но в этом нет смысла. Наверно проще создать один фоновый поток который будет иметь цикл обработки textList.
0
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
16.09.2014, 19:50
Roelan,
Используйте Parallel.For это и есть параллельный цикл.
0
0 / 0 / 0
Регистрация: 18.08.2014
Сообщений: 6
17.09.2014, 12:44  [ТС]
Я сделал как сказали через Parallel.For, и когда ставишь точку останова, пробегаешь тихо по программе, то все прекрасно выводит и работает, а когда убираешь точку останова, то программа зависает, и пишет ошибку что путь к файлу не найден. И ссылается на класс, который находиться в классе calculate.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.09.2014, 12:44
Помогаю со студенческими работами здесь

Как выполнить делегат в потоке Task
Создал объект Task для работы PipeServer. Возникла необходимость вызвать синхронно в потоке Task некий делегат. В итоге должен получиться...

Как бесконечный цикл преобразовать в Task?
Стоит задача, с определенной переодичностью отправлять запрос на сервер и узнавать загрузился ли файл. На текущий момент я реализую это...

Как запускать несколько Task без зависания?
Всем привет! Возник такой вот вопрос, как создать Tasks как им пользоваться и как запускать параллельно с несколькими Tasks так что бы...

Как выполнить синхронизацию потоков
Добрый вечер! Получил задание с определенным условием, а именно &quot;разделить операции на потоки и синхронизацию потоков выполнять с...

Выполнить заполнение массива с использованием нескольких потоков
Требуется выполнить заполнение массива с использованием нескольких потоков. Соответственно есть класс MainWindow с объявленным массивом,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru