![]() |
|
|
![]()
|
|
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
Заметил, что после закрытия моей программы и до перезагрузки компа загрузка процессора становится 75-85%. Это происходит после первого же запуска проги. Диспетчер задач пишет, что это Бездействие системы. Во время работы программы, как и сразу после перезугрузки компа, загрузка минимальна - единицы процентов.
Тем не менее при такой загрузке комп не тормозит и работает как обычно. Я подумал, может это от моей программы остаются какие-то потоки, которые почему-то не убиваются после закрытия проги, а продолжают выполняться. В программе создаются два потока, которые работают по принципу бесконечной петли ( while(!Terminated) {...} ). Если они не закрываются вручную, то это происходит в событии формы OnDestroy:
-------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
"Бездействие системы" - вроде как очевидное название?.. тебя должен беспокоить процесс (на вкладке процессы) с именем твоего исполняемого файла. если он после после выхода из программы остается висеть, то значит не завершились твои "простые и легкие" потоки.
|
|||
|
||||
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
Но если "Бездействие системы" - 85%, то график загрузки ЦП должен идти по низу - около 15%. В принципе так и есть до завершения моей программы, но после завершения почему-то резко становится наоборот
Моего процесса в памяти после выхода из программы не остаётся Это сообщение отредактировал(а) ksili - 16.3.2007, 10:46 -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 10 Всего: 95 |
Для начала - небольшое уточнение: у тебя стоит в свойствах потока FreeOnTerminate=true? Если стоит, тогда delete All_chnls->chnls[i-1].pd; имхо не только бессмысленный, но и вредный операнд, ибо может обращаться к уже освобожденному участку памяти...
А теперь по делу: попробуй поставить функцию WaitForSingleObject после TerminateThread и посмотри, по какому условию она выходит - если по таймауту - твои "легкие и нежные" потоки потоки не завершают свою работу -------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
| ksili |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
И откуда только у всех столько
FreeOnTerminate=true нету WaitForSingleObject щаз попробую Добавлено @ 12:07 Чё-то не могу этой функции параметр указать:
Пишу ему так:
Ругается, что wanted 'void*', got 'unsigned int'. Его что ли потом ещё к void* преобразовать? Я уже не уверен тот ли хэндл я ему сую -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
||||
|
|||||
| ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 10 Всего: 95 |
ksili
сделай преобразование к (HANDLE) как указано в хелпе, вощем подгони, пока не проглотит - ты ему суешь нормальный хендл (если твой TDispThread - наследник обычного TThread). Кроме того, попытка ведь не пытка? ;-) -------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |