M
mibin
Привет! Вот мой код
Если я два раза запускаю этот поток то критические секции не отрабатывают...потоки работают параллельно хотя второй должен был ждать первый...объясните пожалуйста в чем беда?
C++:
__fastcall _tSocket::_tSocket(bool CreateSuspended)
: TThread(CreateSuspended)
{
InitializeCriticalSection(&crit);
}
//---------------------------------------------------------------------------
void __fastcall _tSocket::UpdateCaption()
{
i++;
}
void __fastcall _tSocket::Execute()
{
NameThreadForDebugging("nSocket");
//---- Place thread code here ----
EnterCriticalSection(&crit);
i = 0;
for (i = 0; i < 1000000000; i++) {
i++;
//Synchronize(&UpdateCaption);
UpdateCaption();
}
ShowMessage(String(i));
LeaveCriticalSection(&crit);
}
//---------------------------------------------------------------------------
Если я два раза запускаю этот поток то критические секции не отрабатывают...потоки работают параллельно хотя второй должен был ждать первый...объясните пожалуйста в чем беда?