Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
hHandle: THandle; // дескриптор мьютексаСодержание книги
Поиск на нашем сайте function ReleaseMutex( hHandle: THandle; // дескриптор мьютекса ): Boolean;
При завершении работы мьютекс удаляется из памяти с помощью известной Вам функции CloseHandle, в которую передается дескриптор мьютекса. Кроме того, следует защищать захват-освобождение средства синхронизации при помощи блока try ... finally, иначе ошибка во время работы с ресурсом приведет к блокированию работы всех процессов, ожидающих его освобождения. Семафоры Семафор представляет собой счетчик, содержащий целое число в диапазоне от 0 до заданной при его создании максимальной величины. Счетчик уменьшается каждый раз, когда поток успешно завершает функцию ожидания, использующую семафор и увеличивается вызовом функции ReleaseSemaphore. При достижении семафором значения 0 он переходит в несигнальное состояние, при любых других значениях счетчика – его состояние сигнальное. Такое поведение позволяет использовать семафор в качестве ограничителя доступа к ресурсу, поддерживающему заранее заданное количество подключений. Семафор создается функцией function CreateSemaphore ( Attr: Pointer; // указатель на атрибуты безопасности InitialCount: longint; // Начальное число потоков, // допущенных к объекту MaxCount: longint; // Максимальное число допускаемых // потоков lpName: PChar // имя семафора ): THandle; // дескриптор семафора Семафор сигнализирует, если InitialCount больше нуля, и не подает сигнала, если InitialCount равен нулю. Для доступа к объекту используется функция ожидания При завершении функции ожидания значение счетчика InitialCount соответственно уменьшается, и поток получает доступ к ресурсу. При завершении доступа к ресурсу необходимо вызвать функцию, увеличивающую значение счетчика семафора:
|
||
|
Последнее изменение этой страницы: 2024-06-27; просмотров: 53; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.) |