powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как поделить данные между потоками (threads)
6 сообщений из 6, страница 1 из 1
как поделить данные между потоками (threads)
    #32677464
Фотография Aeon Technologies
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привествую!
ms sql, asp.net(c#). есть блок данных, допустим 1000 записей. по количеству записей сервак должен выполнить соотвествующее количество webrequests, извлечь данные и проапдейтить таблицу. задача создать n потоков, которые будут выполнять свой кусок работы из этого обьема данных, допустим m записей из этой тысячи. проблемма: как распределить данные между потоками.

мои соображения:
1) выгрести из базы все записи и с помощью таблиц поделить данные. не эффективно
2) выгребать заданный интервал записей. может сработать, но высока вероятность "перекрытия" данных. может какая-то временная таблица?

буду рад идеям.

заранее благодарю.
...
Рейтинг: 0 / 0
как поделить данные между потоками (threads)
    #32678498
Mr.Buba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может такой вариант:

создать диспетчер, который будет только получать записи, создавать рабочии потоки и раздавать данные потокам на обработку
...
Рейтинг: 0 / 0
как поделить данные между потоками (threads)
    #32679238
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aeon Technologiesзадача создать n потоков, которые будут выполнять свой кусок работы из этого обьема данных, допустим m записей из этой тысячи. проблемма: как распределить данные между потоками.


Попытайтесь определить прежде всего следующее. Возможно ли в принципе из набора строк выделить однозначно m строк, отличающихся по какому-то критерию ? Primary Key, набор колонок, однозначно идентифицирующих строку, какой - либо диапазон и т.п.
Тогда задайте каждому потоку такие критерии и пусть он выберет себе только строки подпадающие под "его" условия. Последний поток пусть выберет все строки из набора, не попавшие в остальные потоки.
...
Рейтинг: 0 / 0
как поделить данные между потоками (threads)
    #32679650
Фотография Aeon Technologies
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
благодарю за ответы.

Mr.Buba: вопрос в том как поделить эти данные.

Алексей, нет, я не думаю что возможно выделить. даные однородные, отличаются только одним параметром, но сгрупировать их нереально, тем более создание потоков нужно делать динамически, что бы максимально эффективно использовать ресурсы. еще есть идеи?
...
Рейтинг: 0 / 0
как поделить данные между потоками (threads)
    #32679686
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aeon Technologiesблагодарю за ответы.

Mr.Buba: вопрос в том как поделить эти данные.

Алексей, нет, я не думаю что возможно выделить. даные однородные, отличаются только одним параметром, но сгрупировать их нереально, тем более создание потоков нужно делать динамически, что бы максимально эффективно использовать ресурсы. еще есть идеи?

Ну что же, тогда придется их сделать неоднородными :)
Например пронумеруйте их и тогда делите между потоками по этому условию

Как организовать запрос к БД, чтобы он возвращал не только данные, но и порядковые номера строк в результирующем наборе
...
Рейтинг: 0 / 0
как поделить данные между потоками (threads)
    #32680537
Фотография Aeon Technologies
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
благодарю за ответы.
проблему решил с помощью еще одной таблицы в которой сохранял ID записи и имя Thread-а (Thread.CurrentThread.Name)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как поделить данные между потоками (threads)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]