Форум: "Начинающим";
Текущий архив: 2008.07.13;
Скачать: [xml.tar.bz2];
ВнизWaitFor Найти похожие ветки
← →
Анонимщики © (2008-06-10 15:14) [0]Прошу мастеров прокомментировать очевидность и правильность зависания:
program ThreadsDeadLocks_DEMO;
{$APPTYPE CONSOLE}
uses
SysUtils,
Classes;
type
TRapidThread = class(TThread)
protected
procedure Execute; override;
public
constructor Create(CreateSuspended: Boolean);
destructor Destroy; override;
end;
procedure TRapidThread.Execute;
begin
end;
constructor TRapidThread.Create(CreateSuspended: Boolean);
begin
inherited;
FreeOnTerminate := false;
end;
destructor TRapidThread.Destroy;
begin
WaitFor;
inherited;
end;
var
rt: TRapidThread;
begin
try
rt := TRapidThread.Create(true);
rt.Execute;
Sleep(3000);
// rt.WaitFor;
rt.Free;
except
on E:Exception do
Writeln(E.Classname, ": ", E.Message);
end;
end.
← →
DVM © (2008-06-10 15:21) [1]resume Пушкин делать будет потоку.
← →
Поросенок Винни-Пух © (2008-06-10 15:23) [2]rt := TRapidThread.Create(true);
rt.Execute;
Чума!
← →
Анонимщики © (2008-06-10 15:25) [3]тьфу, Resume
← →
Анонимщики © (2008-06-10 15:26) [4]в данном случае замена Execute на Resume абсолютно не играет конструктивной роли
← →
Анонимщики © (2008-06-10 15:28) [5]Прошу прощения, вопрос снят
← →
Поросенок Винни-Пух © (2008-06-10 15:32) [6]в данном случае замена Execute на Resume абсолютно не играет конструктивной роли
А ничего, что то, что по замыслу должно выполняться во вторичном потоке вызвано из главного и в его контексте и выполняется?
:))
И нафига в таком разе вэйтфор?
Типа управление может волшебным образом перейти на следующую строчку еще до возврата из execute?
:))))
← →
Сергей М. © (2008-06-10 16:19) [7]
> прокомментировать очевидность и правильность зависания:
>
Где что у тебя висит - неочевидно и непонятно.
Зато очевидна и непонятна пустота в теле перекрытого метода Execute.
Очевидно и непонятно также присутствие явного вызова WaitFor в перекрытом деструкторе, в то время как этот же WaitFor присутствует в виртуальном деструкторе класса TThread
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.07.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c