| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > обработка дерева в нескольких тредах. |
| Автор: mrgloom 28.6.2011, 11:14 |
| есть функция которая проходит по дереву и модифицирует данные в листе(много сортировок). есть желание сделать это дело многопоточным. вообщем смысл там такой, что берутся данные из дочерних листов, выполняется преобразование и записывается в родительский лист. вся обработка идет от корня, порядок важен, уровни дерева должны обрабатываться последовательно. т.е. как то так - основной поток идет по дереву и берет указатель на лист и передает рабочему потоку в котором все обрабатывается ,если поток занят то переходим к следующему потоку и т.д. но тут не очень понятно как организовать ожидание если все потоки заняты. (либо надо изначально составить список листов и оттуда брать задания для тредов). еще непонятно какие треды использовать вроде бы есть совсем голый winapi thread, но хотелось бы наверно какую то обертку, но и что то легкое чтобы не подключать тяжелые библиотеки. может в самой VS2008 что то есть?thread.h?pthread.h? |
| Автор: hawk3500 28.6.2011, 21:17 |
| если все потоки заняты делайте Sleep ... чем не подходит? И чем вам WIN API не нравиться? |
| Автор: hawk3500 29.6.2011, 20:22 |
| ну на счёт непереносимого согласен, а вот на счёт кривого...ну дык у кого какие руки так и выходит. |
| Автор: azesmcar 30.6.2011, 08:32 |
Даже с прямыми руками, написание НЕ кривых оберток потребует довольно много времени. Зачем тогда писать, если в интернете полно бесплатных аналогов, к тому же переносимых? |