Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обработка дерева в нескольких тредах. 
:(
    Опции темы
mrgloom
Дата 28.6.2011, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



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

еще непонятно какие треды использовать вроде бы есть совсем голый winapi thread, но хотелось бы наверно какую то обертку, но и что то легкое чтобы не подключать тяжелые библиотеки. может в самой VS2008 что то есть?thread.h?pthread.h?



Это сообщение отредактировал(а) mrgloom - 28.6.2011, 11:17
PM MAIL   Вверх
hawk3500
Дата 28.6.2011, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 246
Регистрация: 6.2.2009

Репутация: нет
Всего: 2



если все потоки заняты делайте Sleep ... чем не подходит?
И чем вам WIN API не нравиться?
--------------------
воин dzen'a
PM MAIL   Вверх
azesmcar
Дата 29.6.2011, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



смотри в сторону шаблона thread pool

Цитата(mrgloom @  28.6.2011,  11:14 Найти цитируемый пост)
но хотелось бы наверно какую то обертку, но и что то легкое чтобы не подключать тяжелые библиотеки. может в самой VS2008 что то есть?thread.h?pthread.h?

я бы посмотрел в сторону Intel TBB. Не то, чтобы он совсем уж легковесный, но во всяком случае вещь надежная.

Добавлено через 2 минуты и 12 секунд
Цитата(hawk3500 @  28.6.2011,  21:17 Найти цитируемый пост)
И чем вам WIN API не нравиться? 

А чем он может нравиться? Тем, что дает возможность написать свой собственный, кривой и непереносимый велосипед?
PM   Вверх
hawk3500
Дата 29.6.2011, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 246
Регистрация: 6.2.2009

Репутация: нет
Всего: 2



ну на счёт непереносимого согласен,  а вот на счёт кривого...ну дык у кого какие руки так и выходит.
--------------------
воин dzen'a
PM MAIL   Вверх
azesmcar
Дата 30.6.2011, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(hawk3500 @  29.6.2011,  20:22 Найти цитируемый пост)
а вот на счёт кривого...ну дык у кого какие руки так и выходит

Даже с прямыми руками, написание НЕ кривых оберток потребует довольно много времени. Зачем тогда писать, если в интернете полно бесплатных аналогов, к тому же переносимых? smile 

Это сообщение отредактировал(а) azesmcar - 30.6.2011, 08:33
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0421 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.