![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Собственно всем лучей добра и света!
Есть некий TList заполненный до верху объектами. Необходимо раздать содержимое нескольким потокам так, чтобы каждый поток получил свой уникальный кусок. ![]() Как это сделать? Мозг просто вскипает уже... |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Да в каждом потоке описать целочисленные переменки, которые будут хранить номер начальа куска списка и конца. И пусть работают от и до
![]() Речь ведь о TThread идет? Код:
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]()
Если не обязательны куски (ну мало ли), то можно сделать 1 переменную, которая указывает на следующий объект для обработки (увеличивать переменную в критической секции). Тогда каждый поток будет забирать следующий объект, как только обработает предыдущий.
Тапками не кидать ![]()
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Хорошо бы узнать что именно и как обрабатываться в списках будет.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#5 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]()
Не знаю (очень мало работал с потоками)
![]() Вроде это не переключение. А вот это действительно неплохо бы, а то можно насоветовать такого. Update Цитата:
![]()
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 26.12.2012 в 22:26. |
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Stilet, многопоточная обработка данных.
Каждый объект уникален и не должен попасть на обработку повторно. Как я вижу эту делянку, показано на скрине в посте 1. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 19.08.2011
Сообщений: 329
|
![]()
Тоже интересует тема. Человек_Борща, вот незадача... Парюсь уже целый час, толком дойти до путевого не получается. Если даже делить кол-во потоков на длину, то получается совсем даже не integer
![]() P.S. Может попросить математиков чтобы вывели формулу алгоритма, а... ![]() |
![]() |
![]() |
![]() |
#8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]()
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
А мне больше по душе вариант, который BDA предложил - каждый поток забирает по мере необходимости очередной объект. Так более рационально пожалуй можно нагрузку на потоки распределить. При изначальном примерно равном распределении по потокам объектов может получиться так, что часть потоков быстрей справится, часть медленней. Или нет?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#10 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Между прочем в дотнете есть среьезная наработка технологии распределенного вычисления - тут не поспоришь.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Tlist | AngryD | Помощь студентам | 2 | 24.02.2012 12:22 |
Не открывая txt порезать его на читабельные куски. | Человек_Борща | Общие вопросы Delphi | 5 | 03.01.2011 18:06 |
Порезать строчку | KoBRaAndrey | Общие вопросы Delphi | 3 | 30.04.2010 11:27 |
Кусочки акуст. концерта | HellMercenariess | Свободное общение | 0 | 05.10.2009 13:58 |
Подкорректирова tList | Altera | Общие вопросы Delphi | 2 | 11.09.2009 20:24 |