-
Есть условие по которому происходит выход из потока процедуры, какой из этих методов использовать?
-
> выход из потока процедуры
Exit.
ExitProcess завершает всё приложение
-
ExitThread()
-
То есть я имел ввиду ExitThread
-
> Rouse_ © (21.11.11 17:57) [2]
>
> ExitThread()
В смысле?
-
в ExitThread особого смысла нет. выход из процедуры Execute потока в VCL или просто потоковой функции по Exit приведет к завершению потока
-
> clickmaker © (21.11.11 18:07) [5]
>
> в ExitThread особого смысла нет. выход из процедуры Execute
> потока в VCL или просто потоковой функции по Exit приведет
> к завершению потока
А если без VCL на чистом WinAPI?
За создание потока отвечает CreateThreade.
А обезательно вызывать CloseHandle в конце программы?
Я так понимаю хэндлы потоков должны быть глобальными переменными, чтобы из другого потока можно было их закрыть?
-
> А обезательно вызывать CloseHandle в конце программы?
в конце программы все Handle и так будут Close
> хэндлы потоков должны быть глобальными переменными, чтобы
> из другого потока можно было их закрыть?
если хэндл тебе не нужен, ты можешь закрыть его хоть сразу после запуска потока. На жизнь потока это никак не появляет
Хэндлы обычно используют для синхронизации, ожидания завершения, н-р
-
Спасибо
-
> Крестовый туз (21.11.11 17:59) [4]
> В смысле?
В смысле для выхода из нити необходимо использовать ExitThread, т.к. у тебя тем более нить судя по всему на АПИ.
> clickmaker © (21.11.11 18:30) [7]
> в конце программы все Handle и так будут Close
Дык в конце программы и все мемлики будут пофиксены хирургическим способом :)
-
> Крестовый туз (21.11.11 18:20) [6]
> А если без VCL на чистом WinAPI?
IsMultiThread := True.
Ну, и другая мелочь.
--
Regards, LVT.