|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.12.2010, 00:29 | #1 |
Регистрация: 17.12.2010
Сообщений: 6
|
Потоки - проблема с закрытием программы
Hi, All,
Есть наследник от TThread и список объектов, в каждом из которых создается экземпляр этого наследника. Еще каждый объект списка содержит событие (Event), созданное при помощи CreateEvent(). Суть в том, что все объекты списка связаны через взаимную генерацию этих событий. Т.е. Каждый объект ожидает события при помощи WaitForSingleObject(), работает и генерирует событие для другого объекта. И так в цикле. Все работает прекрасно, если дать этой системе доработать до конца метода Execute каждого потока. Но при попытке прервать работу всех потоков, например, при закрытии окна программы, все виснет. Причем несколько потоков все-таки завершается корректно, а остальные виснут на WaitForSingleObjject(), хотя там используется таймаут, а не бесконечное ожидание. Вот код Execute: Код:
А это код принудительного завершения: Код:
Все это в DElphi 7 под WinXP. Буду рад любым советам умных людей |
19.12.2010, 00:13 | #2 |
Регистрация: 17.12.2010
Сообщений: 6
|
Путем последовательных отключений кусков кода выяснил, что проблема, как ни странно, в этой строчке метода Execute:
Код:
Код:
Это что, баг в Delphi 7 или что??? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с компиляцией программы | Cpluser | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 11 | 10.12.2010 21:16 |
Проверка перед закрытием (аналог Паинт) | Claster | Помощь студентам | 0 | 01.12.2010 17:35 |
проблема с закрытием формы | betirsolt | Общие вопросы Delphi | 46 | 03.08.2009 01:00 |
Проблема в Delphi. Возможно, на потоки. | Jean-Esther | Помощь студентам | 2 | 21.02.2009 22:32 |
Проблемма с закрытием MDIChild'ов | KirkMETAL | Помощь студентам | 12 | 25.11.2007 07:06 |