Контрольная работа: Особливості багатозадачності в середовищі Windows

// Инициализируем семафор поділюваного коду.

CritMutex = SectCreateMutex(NULL,FALSE,NULL);

... // Текст програми.

// Закриваємо об'єкт доступу до поділюваного коду.

CloseHandle(CritMutex);

}

// Перший потік: запис у масив даних.

DWORD thread1(LPVOID par)

{ // Запис значень у масив.

// Запит на вхід у захищений розділ.

DWORD dw = WaitForSingleObject(CritMutex,INFINITE);

if(dw == WAIT_OBJECT_0)

{ // Якщо об'єкт звільнений коректно, те

// виконання коду в захищеному розділі.

for(int i = 0;i<1000;i++)

{

mas[i] = i;

}

// Вихід із захищеного розділу:

// звільняємо об'єкт для доступу

// до захищеного розділу інших задач.

ReleaseMutex(CritMutex);

}

return 0;

}

// Другий потік: зчитування даних з масиву.

DWORD thread2(LPVOID par)

{ // Зчитування значень з масиву.

int j;

К-во Просмотров: 462
Бесплатно скачать Контрольная работа: Особливості багатозадачності в середовищі Windows