Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
eldar85 |
18.8.2010, 12:56
Сообщение
#11
|
![]() программист ![]() ![]() ![]() Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(Алексей1153 @ 18.8.2010, 16:40) Link сделай так, раз массив не нужен BRE, очепятка ) Исправил а таким образом очистка памяти будет производится автоматически? погоди а так вообще будут запускаться сто потоков? как то не привычно такой вид запуска потоков))) привык уже к массиву) |
|
|
|
|
Алексей1153 |
18.8.2010, 13:18
Сообщение
#12
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2946 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34
|
eldar85, автоматически удалятся вместе с разрушением главного окна.
Что значит - привык ? ) Сформулируй задачу то... Я вижу, что у тебя указатель на массив теряется - значит, он тебе не требуется для дальнейшей работы. А тогда нафиг массив ? Пусть каждый объект создастся |
|
|
|
|
eldar85 |
18.8.2010, 13:54
Сообщение
#13
|
![]() программист ![]() ![]() ![]() Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: 0
|
не пойму чет... вот я создал массив, затем в цикле запускаю каждый элемент массива thread[i].start(); или это не правильно? я попробывал сделать так но чет не компилица вообще никак... |
|
|
|
|
Алексей1153 |
18.8.2010, 14:00
Сообщение
#14
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2946 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34
|
а что пишет ? Я не тестировал
Скорее всего, ему параметр не нужен )) Убери (this) |
|
|
|
|
Iron Bug |
18.8.2010, 15:09
Сообщение
#15
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12
|
программа падает не из-за массива. массив там правильно использован. что не удалялся - это пофиг, при завершении программы система удалит, хотя лучше делать delete[], чисто из джентльменских соображений не оставлять за собой мусора.
чтобы системе на хватило памяти - это маловероятно. на один процесс в 32-битной системе выделяется 4 гига виртуальной памяти. твои сто процессов столько не сожрут. в принципе, если есть рекурсия - может быть переполнение стека, к примеру. но это тоже редкий случай. скорее всего, в потоках что-то сделано некорректно. |
|
|
|
|
Алексей1153 |
18.8.2010, 19:10
Сообщение
#16
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2946 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34
|
дык, никто и не говорил, что причина в массиве - это я из соображений об утечках. Код потока автор так и не явил народу ) А рекурсия тоже вряд ли виновата - падало бы мгновенно
|
|
|
|
|
eldar85 |
19.8.2010, 20:28
Сообщение
#17
|
![]() программист ![]() ![]() ![]() Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: 0
|
спасибо за советы, проблема решилась все же засеранием памяти))) сделал удаление в потоках все выделений памяти и пашет)))
там у меня в 100 потоках может выззываться в циклах по 250 000 раз и каждый раз создавая в динамической памяти объект))) в итоге как бы мало этот объект не весил, но если столько раз вызвать все же вылетает)))))) |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 1.1.2026, 17:45 |