alextrs
15-04-2008, 22:02
У меня вопрос к тем, кто работал с потоками.
Такой фрагмент простой программы:
TMyPot *Thr= new TMyPot(true); // создаю поток в спящем режиме
--------------------------------------------------------------------------
void __fastcall TForm1::StartClick(TObject *Sender)
{
Thr->Resume();//т.е поток запускается при нажатии на Буттон Start
}
---------------------------------------------------------------------------------------------
void __fastcall TForm1::TSuspendClick(TObject *Sender)
{
Thr->Suspend();//т.е поток засыпает при нажатии на Буттон Suspend
}
Все работает,но вот,что я заметил-сколько раз нажмешь на кнопку Suspend,столько же раз надо нажать на кнопку Resume ,
что бы поток снова запустился?Кто знает почему это происходит и как этого избежать?Как будто количество Suspendov где-то сохраняется?
Может можно по-другому?
Такой фрагмент простой программы:
TMyPot *Thr= new TMyPot(true); // создаю поток в спящем режиме
--------------------------------------------------------------------------
void __fastcall TForm1::StartClick(TObject *Sender)
{
Thr->Resume();//т.е поток запускается при нажатии на Буттон Start
}
---------------------------------------------------------------------------------------------
void __fastcall TForm1::TSuspendClick(TObject *Sender)
{
Thr->Suspend();//т.е поток засыпает при нажатии на Буттон Suspend
}
Все работает,но вот,что я заметил-сколько раз нажмешь на кнопку Suspend,столько же раз надо нажать на кнопку Resume ,
что бы поток снова запустился?Кто знает почему это происходит и как этого избежать?Как будто количество Suspendov где-то сохраняется?
Может можно по-другому?