![]() |
|
Модераторы: bsa |
![]()
|
|
| mrgloom |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
есть функция которая проходит по дереву и модифицирует данные в листе(много сортировок).
есть желание сделать это дело многопоточным. вообщем смысл там такой, что берутся данные из дочерних листов, выполняется преобразование и записывается в родительский лист. вся обработка идет от корня, порядок важен, уровни дерева должны обрабатываться последовательно. т.е. как то так - основной поток идет по дереву и берет указатель на лист и передает рабочему потоку в котором все обрабатывается ,если поток занят то переходим к следующему потоку и т.д. но тут не очень понятно как организовать ожидание если все потоки заняты. (либо надо изначально составить список листов и оттуда брать задания для тредов). еще непонятно какие треды использовать вроде бы есть совсем голый winapi thread, но хотелось бы наверно какую то обертку, но и что то легкое чтобы не подключать тяжелые библиотеки. может в самой VS2008 что то есть?thread.h?pthread.h? Это сообщение отредактировал(а) mrgloom - 28.6.2011, 11:17 |
|||
|
||||
| hawk3500 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 6.2.2009 Репутация: нет Всего: 2 |
если все потоки заняты делайте Sleep ... чем не подходит?
И чем вам WIN API не нравиться? --------------------
воин dzen'a |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
смотри в сторону шаблона thread pool
я бы посмотрел в сторону Intel TBB. Не то, чтобы он совсем уж легковесный, но во всяком случае вещь надежная. Добавлено через 2 минуты и 12 секунд А чем он может нравиться? Тем, что дает возможность написать свой собственный, кривой и непереносимый велосипед? |
|||
|
||||
| hawk3500 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 6.2.2009 Репутация: нет Всего: 2 |
ну на счёт непереносимого согласен, а вот на счёт кривого...ну дык у кого какие руки так и выходит.
--------------------
воин dzen'a |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
Даже с прямыми руками, написание НЕ кривых оберток потребует довольно много времени. Зачем тогда писать, если в интернете полно бесплатных аналогов, к тому же переносимых? Это сообщение отредактировал(а) azesmcar - 30.6.2011, 08:33 |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |