Синхронизация потоков в Windows презентация
Содержание
- 2. Критические секции Критические секции Для работы с объектами типа critical_section используются
- 3. #include <windows.h> #include <windows.h> #include <iostream> using namespace std;
- 4. int main() { int main() { int i, j ; HANDLE
- 5. #include <windows.h> #include <iostream> #include <windows.h> #include <iostream> using namespace std;
- 6. int main() { int main() { int i,j; HANDLE hThread; DWORD
- 7. Объекты синхронизации и функции ожидания Объекты синхронизации и функции ожидания В
- 8. К первому классу относятся объекты синхронизации, т. е. те, которые служат
- 9. Функции ожидания в Windows это такие функции, параметрами которых являются объекты
- 10. Для ожидания перехода в сигнальное состояние нескольких объектов синхронизации или одного
- 11. Мьютексы Мьютексы Для решения проблемы взаимного исключения между параллельными потоками, выполняющимися
- 12. Создается мьютекс вызовом функции CreateMutex, которая имеет следующий прототип: HANDLE CreateMutex(
- 13. #include <windows.h> #include <windows.h> #include <iostream> HANDLE hMutex; char
- 14. ZeroMemory(&si, sizeof(STARTUPINFO)); ZeroMemory(&si, sizeof(STARTUPINFO)); si.cb = sizeof(STARTUPINFO); // создаем
- 15. } } cout « endl; // освобождаем мьютекс ReleaseMutex (hMutex)
- 16. #include <windows.h> #include <windows.h> #include <iostream> int main() {
- 17. // захватываем мьютекс // захватываем мьютекс WaitForSingleObject(hMutex, INFINITE); for
- 18. События События Событием называется оповещение о некотором выполненном действии. В программировании
- 19. Создаются события вызовом функции CreateEvent, которая имеет следующий прототип: Создаются события
- 20. Для перевода любого события в сигнальное состояние используется функция SetEvent, которая
- 21. #include <windows.h> #include <windows.h> #include <iostream> HANDLE hOutEvent, hAddEvent; DWORD
- 22. // создаем события с автоматическим сбросом // создаем события с
- 23. // выводим значение переменной // выводим значение переменной cout « "A
- 24. Доступ к существующему событию можно открыть с помощью функции Доступ к
- 25. Параметр dwDesiredAccess определяет доступ к событию и может быть равен любой
- 26. #include <windows.h> #include <windows.h> #include <iostream> HANDLE hlnEvent; char
- 27. // запускаем процесс, который ждет ввод символа // запускаем процесс, который
- 28. #include <windows.h> #include <windows.h> #include <iostream> HANDLE hlnEvent; CHAR
- 29. cout « "Input any char: "; cout « "Input any
- 30. Семафоры Семафоры Семафоры в операционных системах Windows описываются объектами ядра semaphores.
- 31. BOOL ReleaseSemaphore ( HANDLE hSemaphore, // дескриптор семафора LONG IReleaseCount, // положительное
- 32. HANDLE OpenSemaphore( HANDLE OpenSemaphore( DWORD dwDesiredAccess, // флаги доступа BOOL blnheritHandle,
- 33. #include <windows.h> #include <windows.h> #include <iostream> volatile int a[10];
- 34. int main() int main() { int i; HANDLE hThread;
- 35. // поток main выводит элементы массива только после их подготовки потоком
- 36. Скачать презентацию
































![#include <windows.h>
#include <windows.h>
#include <iostream>
volatile int a[10];
#include <windows.h>
#include <windows.h>
#include <iostream>
volatile int a[10];](/documents_3/dc17c402315758529aba5e225893eaf0/img32.jpg)

Слайды и текст этой презентации
Похожие презентации