Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2010, 11:10   #1
YarUnderoaker
Пользователь
 
Регистрация: 30.03.2010
Сообщений: 11
Вопрос Медленный выход приложения (многопоточность)

В приложении создается один дополнительный поток (TThread)
Когда приложение выходит, поток завершает работу
Код:
    CheckSynchronize;
    FThread.Terminate;
    FServiceStarter.SetEvent; // событие для запуска, если поток спит
    FThread.WaitFor;
    FThread.Destroy;
все нормально завершается и освобождается,
утечек памяти нету.

Пудем дебагинга установил что после финализации всех модулей выполняется call ExitProcess и там приложение висит около минуты.

Это безобразие наблюдается только на Win XP, если поток создается. Если нет, то все нормально.
На Win7 выходит сразу.
YarUnderoaker вне форума Ответить с цитированием
Старый 15.10.2010, 16:57   #2
YarUnderoaker
Пользователь
 
Регистрация: 30.03.2010
Сообщений: 11
По умолчанию

Портировал на Lazarus. Там такой проблемы не возникает.

Уточнение:
на XP - Delphi 2009
на Win7 - Delphi XE

может это у 2009 порблемы?
YarUnderoaker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многопоточность и с++ Koshmarovsky Visual C++ 13 06.09.2010 20:39
многопоточность DeDoK Общие вопросы Delphi 6 01.08.2010 02:14
Многопоточность Neymexa Помощь студентам 3 13.04.2010 11:43
Многопоточность JakSon Общие вопросы Delphi 10 27.12.2009 02:19
Однопоточность и многопоточность приложения Pyton Gamedev - cоздание игр: Unity, OpenGL, DirectX 7 15.01.2009 17:14