ВУЗ:
Составители:
51
должны использовать такую ситуацию для завершения цикла просмотра
содержимого каталога.
После завершения цикла просмотра необходимо закрыть идентификатор
поиска, вызвав для этого функцию FindClose:
Функция FindClose
BOOL FindClose(HANDLE hFindFile);
Задание:
1. Написать программу:
– создающую отдельный поток, которому передается название каталога, в
котором будут искаться файлы;
– имеющую рекурсивную функцию FindFile, строящую «дерево» файлов и
каталогов от выбранного каталога.
Контрольные вопросы:
1. Для чего необходимо использование потоков?
2. Приведите пример многопоточного приложения.
3. Как работает функция CreateThread?
4. Объясните принцип рекурсивного поиска файлов.
Для самостоятельного изучения:
1. Функции ExitProcess, ExitThread, CreateRemoteThread.
2. Существующие компоненты для автоматизированного поиска файлов.
4.8 Синхронизация процессов и потоков
Семафор – объект синхронизации, который может регулировать доступ к
некоторому ресурсу. Мьютекс – переменная, которая может находиться в одном из
двух состояний: блокированном или неблокированном. Мьютекс может охранять
неразделенный ресурс, к которому в каждый момент времени допускается только
один поток, а семафор может охранять ресурс, с которым может одновременно
работать не более N потоков.
Мьютексный объект создаѐтся функцией:
Функция CreateMutex
HANDLE CreateMutex
(
LPSECURITY_ATTRIBUTES lpMutexAttributes, // атрибут безопастности
BOOL bInitialOwner, // флаг начального владельца
LPCTSTR lpName // имя объекта
);
Функция возвращает дескриптор мьютексного объекта с именем, заданным
должны использовать такую ситуацию для завершения цикла просмотра
содержимого каталога.
После завершения цикла просмотра необходимо закрыть идентификатор
поиска, вызвав для этого функцию FindClose:
Функция FindClose
BOOL FindClose(HANDLE hFindFile);
Задание:
1. Написать программу:
– создающую отдельный поток, которому передается название каталога, в
котором будут искаться файлы;
– имеющую рекурсивную функцию FindFile, строящую «дерево» файлов и
каталогов от выбранного каталога.
Контрольные вопросы:
1. Для чего необходимо использование потоков?
2. Приведите пример многопоточного приложения.
3. Как работает функция CreateThread?
4. Объясните принцип рекурсивного поиска файлов.
Для самостоятельного изучения:
1. Функции ExitProcess, ExitThread, CreateRemoteThread.
2. Существующие компоненты для автоматизированного поиска файлов.
4.8 Синхронизация процессов и потоков
Семафор – объект синхронизации, который может регулировать доступ к
некоторому ресурсу. Мьютекс – переменная, которая может находиться в одном из
двух состояний: блокированном или неблокированном. Мьютекс может охранять
неразделенный ресурс, к которому в каждый момент времени допускается только
один поток, а семафор может охранять ресурс, с которым может одновременно
работать не более N потоков.
Мьютексный объект создаѐтся функцией:
Функция CreateMutex
HANDLE CreateMutex
(
LPSECURITY_ATTRIBUTES lpMutexAttributes, // атрибут безопастности
BOOL bInitialOwner, // флаг начального владельца
LPCTSTR lpName // имя объекта
);
Функция возвращает дескриптор мьютексного объекта с именем, заданным
51
Страницы
- « первая
- ‹ предыдущая
- …
- 49
- 50
- 51
- 52
- 53
- …
- следующая ›
- последняя »
