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

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

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

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

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


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

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

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

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

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

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

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


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