Мьютексы.Немогу понять что делаю не так
Пытаюсь вот разобратся как происходить синхронизация с помощью мьютексов.набросал вот такой код
Код:
void thr(void *Pvoid)
{
HANDLE mut0=CreateMutex(NULL,false,"mymut1");
WaitForSingleObject(mut0,INFINITE);
MessageBox(0,"!!!!!","!!!!!!",MB_OK);
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
CreateMutex(NULL,false,"mymut1");
_beginthread(thr,0,0);
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
HANDLE mut=CreateMutex(NULL,false,"mymut1");
ReleaseMutex(mut);
}
Я полагал что мессаг бокс должен вылезти после нажатия 2й кнопки.Но он появляется сразу же после нажатия 1й :( Обьясните пожалуста как нужно правильно.
ЗЫ:если мутексы неподходят для этого дела то подскажите как организовать то что мне хотелось в том исходнике.Тоесть что бы можно было бы из родительского потока приостанавливать и возобновлять дочернии.
|