28 / 27 / 7
Регистрация: 11.06.2011
Сообщений: 387
|
||||||
1 | ||||||
boost thread есть много памяти27.07.2011, 10:50. Показов 1674. Ответов 5
Метки нет (Все метки)
Есть небольшой код
5860 myuser 20 0 1604m 1896 872 S 0 0.0 0:00.00 1.6g testThread Почему так много памяти съедается ? Ну ладно съедается, но почему не освобождается, ведь в потоках ничего не делается, сразу return. ------- OS: linux mandriva kernel: 2.6.29.1-server-4mnb libboost: 1.38 gcc: 4.3.2
0
|
27.07.2011, 10:50 | |
Ответы с готовыми решениями:
5
boost::thread Boost thread queue boost thread Не линкуется проект с boost::thread |
27.07.2011, 14:28 | 2 |
размер стека потока у меня по умолчанию 8мб.
Добавлено через 1 минуту что это такое? у меня память по нулям. а предпоследней колонка отображает процент использования памяти.
1
|
28 / 27 / 7
Регистрация: 11.06.2011
Сообщений: 387
|
|
27.07.2011, 16:07 [ТС] | 3 |
0
|
07.08.2011, 22:01 | 4 |
Вопрос: а так принципиально с boost или <pthread.h> подойдет для вашей задачи?
В <pthread.h> есть функция pthread_detach(&pthread_t) которая автоматически освободит память от потока! возможно в boost есть что то подобное!
0
|
07.08.2011, 22:17 | 5 |
boost::thread в деструкторе выполняет detach.
boost::thread_group содержит в себе список трэдов. и по завершении трэдов, элементы в списке не освобождаются. а происходит это потому, что boost::thread_group - не трэд пул! с чем его частенько путают. а вот почему не освобождается память потоков - это вопрос.. нужно будет поковыряться... Добавлено через 7 минут вообще, по всяким форумам и спискам рассылки boost, Anthony Williams(автор boost.thread), частенько повторяет, что boost::thread_group стОит использовать только если кол-во его итемов неизменно на протяжении работы всей программы. или же, объекты boost::thread_group создаются/удаляются пользователем динамически. и дополняет, что boost::thread_group - вообще подумывает исключить, т.к. у многих возникают с ним проблемы из-за неочевидности его поведения. кстати, именно по этой причине его исключили из нового стандарта.
2
|
07.08.2011, 22:19 | 6 |
Понятно!
0
|
07.08.2011, 22:19 | |
07.08.2011, 22:19 | |
Помогаю со студенческими работами здесь
6
boost::thread синхронизация с VCL boost::thread объясните нубу Исключения в потоке Boost::thread boost::thread() проблема с потоками. Работа с двумя потоками boost::thread boost::thread не может найти библиотеку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |