|
0 / 0 / 0
Регистрация: 24.08.2012
Сообщений: 11
|
|||||||||||||||||||||
Освобождение памяти24.08.2012, 19:17. Показов 3652. Ответов 20
Метки нет (Все метки)
Есть многопоточное приложение.
Создается глобальная структура: Пример из msdn.
В функции, где собственно создаем сам поток, выделяем память, а указатель из структуры и будет указателем на эту выделяемую память. Переменная типа структуры:
Использовать WaitForMultipleObject не хочу. Если в потоке вызвать HeapFree(GetProcessHeap(), 0, pData); Память освободим? Как правильнее освободить память?
0
|
|||||||||||||||||||||
| 24.08.2012, 19:17 | |
|
Ответы с готовыми решениями:
20
Резервирование памяти/освобождение памяти для трехмерного массива Освобождение памяти в C++
|
|
0 / 0 / 0
Регистрация: 24.08.2012
Сообщений: 11
|
||||||
| 25.08.2012, 18:32 [ТС] | ||||||
|
Тогда в самом потоке следует вызывать HeapFree и деструктор?
Первым следует вызвать дуструктор?
0
|
||||||
|
0 / 0 / 0
Регистрация: 24.08.2012
Сообщений: 11
|
|||||||||||
| 27.08.2012, 17:50 [ТС] | |||||||||||
Отличие в том, что HeapFree вызывается в потоке. Может можно обойтись без кучи вовсе, а всю память выделять через new?
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 24.08.2012
Сообщений: 11
|
|
| 27.08.2012, 19:25 [ТС] | |
|
А c HeapFree() и ~MyData(); в самом потоке будет нормально?
0
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 27.08.2012, 19:28 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 24.08.2012
Сообщений: 11
|
||
| 27.08.2012, 20:08 [ТС] | ||
|
Освобождать память нужно. Может по-другому выделять? Если делать выше описанным способом, то как правильнее освободить кучу и память через new. Если можно, с кодом.
0
|
||
|
0 / 0 / 0
Регистрация: 24.08.2012
Сообщений: 11
|
||
| 27.08.2012, 20:33 [ТС] | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 24.08.2012
Сообщений: 11
|
|
| 27.08.2012, 20:41 [ТС] | |
|
Каждый поток пишет в отдельный файл.
0
|
|
|
|
||
| 27.08.2012, 22:36 | ||
|
Тогда проще...
Щас может накатаю пример. Добавлено через 1 час 51 минуту Что то я туго соображаю... Т.е. вы хотите завершить основной поток раньше вторичных и убив формы ?
1
|
||
|
0 / 0 / 0
Регистрация: 24.08.2012
Сообщений: 11
|
||
| 27.08.2012, 23:17 [ТС] | ||
|
Еще один вопрос на счет потоков. Использую Rad studio 2010. Создание потоков организовано через CreateThread(...); Вывод информации на главную форму через критическии секции. Слышал на счет проблемы "EInvalidOperation: Canvas does not aloow drawing". При использовании крит. секций в билдере такие ошибки возможны? Что лучше использовать: крит. секции или Synchronize()?
0
|
||
|
|
|||
| 27.08.2012, 23:22 | |||
Synchronize() - это метод класса TThread, и к CreateThread(...) неимеет никакого отношения;
0
|
|||
|
0 / 0 / 0
Регистрация: 24.08.2012
Сообщений: 11
|
|||
| 27.08.2012, 23:31 [ТС] | |||
|
При прогоне большого количества потоков, иногда появляется такая ошибка в окне отладчика. В цикле с небольшим delay?
0
|
|||
|
|
|
| 27.08.2012, 23:36 | |
|
Ну если у тебя приложение с формами тогда тебе не нужен WaitForMultipleObject().
И если нужно что-то выводить из потоков в компоненты на форме то лучше использовать класс TThread вместо WinApi - потока Тебе нужно знать когда потоки завершаться ?
0
|
|
|
0 / 0 / 0
Регистрация: 24.08.2012
Сообщений: 11
|
|||
| 27.08.2012, 23:57 [ТС] | |||
|
Событие OnTerminate? Ведь так?
0
|
|||
| 27.08.2012, 23:57 | |
|
Помогаю со студенческими работами здесь
20
Освобождение памяти Освобождение памяти Освобождение памяти освобождение памяти
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|