Форум: "Основная";
Текущий архив: 2009.01.11;
Скачать: [xml.tar.bz2];
ВнизВопрос по дополнительным потокам!!! Найти похожие ветки
← →
Андрей Пл (2008-03-19 11:37) [0]У меня такая ситуация в программе есть дополнительный поток который постоянно с периодичностью что то пишет в файл.
Так вот когда я завершаю программу (так же при этом вызываю метод Terminate доп.потока) то дополнительный поток иногда не успевает завершить последнюю итерацию цикла и также соответственно операцию записи в файл и получается что в файле оказывается только часть данных.
Вопрос как мне завершить работу основной программы что бы при этом гарантировано завершил свою работу доп.поток???
Код доп.потока:
while not Terminated do
begin
sleep(varSleep);
U:= pSmInt^;
. . . . . . .
Regim:= pByte^;
Writeln(F,DateToStr(Date):10, TimeToStr(Time):15, Uakb:10, I:10, T:10, Uin:10, U:10, Regim:10);
beep;
end;
← →
grisme (2008-03-19 11:43) [1]WaitForSingleObject?
← →
ЦУП © (2008-03-19 11:59) [2]
> Андрей Пл (19.03.08 11:37)
thread.WaitFor
← →
clickmaker © (2008-03-19 12:32) [3]
> метод Terminate доп.потока
он всего лишь взводит переменую Terminated.
Вот если TerminateThread, то - другое дело
← →
Андрей Пл (2008-03-19 13:43) [4]Всем спасибо
thread.WaitFor -
помогло отцу русское демократии :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2009.01.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c