Вад, вопрос где нужно ставить это:(?)
Event=CreateEvent(NULL, // Атрибут защиты
TRUE, // Тип сброса - ручной
FALSE, // Начальное состояние, не сигнальное
"FirstStep" // Имя объекта
); // Создание события
if (_beginthread(NULL, 0, InOut, &inouts[1], 0, &tid)==-1)
cout << "Error begin thread " << endl;
if (_beginthread(NULL, 0, InOut, &inouts[2], 0, &tid)==-1)
cout << "Error begin thread " << endl;
if (_beginthread(NULL, 0, InOut, &inouts[3], 0, &tid)==-1)
cout << "Error begin thread " << endl;
if (event!=NULL){
Sleep(1000);
SetEvent(event);
Sleep(1000);
ResetEvent(event);
CloseHandle(event);
}
else {cout << "error create event" << endl;}
Делаю на основе примера:
http://netcode.ru/cpp/?click=r-4047.php.htmЯ думаю, что должно быть как-то так:
...
HANDLE Thread[3];// Імитация 4-х процессоров
HANDLE Event;
...
int main()
...
IOput inouts[4];
inouts[0].src = a;
//----------------------------
Event=CreateEvent(NULL, // Атрибут защиты
TRUE, // Тип сброса - ручной
FALSE, // Начальное состояние, не сигнальное
"FirstStep" // Имя объекта
); // Создание события
if (_beginthread(NULL, 0, InOut, &inouts[1], 0, &tid)==-1)
cout << "Error begin thread " << endl;
if (_beginthread(NULL, 0, InOut, &inouts[2], 0, &tid)==-1)
cout << "Error begin thread " << endl;
if (_beginthread(NULL, 0, InOut, &inouts[3], 0, &tid)==-1)
cout << "Error begin thread " << endl;
if (event!=NULL){
Sleep(1000);
SetEvent(event);
Sleep(1000);
ResetEvent(event);
CloseHandle(event);
}
else {cout << "error create event" << endl;}
//-----------------------------
Thread[0] = (HANDLE)_beginthreadex(NULL, 0, InOut, &inouts[0], 0, &tid);
WaitForMultipleObjects(1, Thread, TRUE, INFINITE);
CloseHandle(Thread[0]);
Что писать в этих скобках: (?) (NULL, 0, InOut, &inouts[1], 0, &tid) потому, что InOut,inouts[1] вызывает подозрение и мое и компилятора.