Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 7.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
196.61 Кб
Скачать

Реализация служб синхронизации

Приведены различные вызовы микроядра и соответствующие POSIX-вызовы более высокого уровня.

Вызов микроядра

POSIX-вызов

Описание

SyncTypeCreate()

pthread_mutex_init(), pthread_cond_init(), sem_init()

Создать объект для мьютекса, условной пе­ременной или сема­фора

SyncDestroy()

pthread_mutex_destroy(), pthread_cond_destroy(), sem_destroy()

Уничтожить объект син­хронизации

SyncCondvarWait()

pthread_cond_wait(), pthread_cond_timedwait()

Блокировать поток на условной переменной

SyncCondvarSignal()

pthread_cond_broadcast(), pthread_cond_signal()

Пробудить потоки, бло­кированные на услов­ной переменной

SyncMutexLock()

pthread_mutex_lock(). pthread_mitex_trylock()

Захватить мьютекс

SyncMutexUnlock()

pthread_mitex_unlock()

Освободить мьютекс

SyncSemPost()

sem_post()

Увеличить значение счетчика на семафоре

SyncSemWait()

sem_wait(), sem_trywait()

Уменьшить значение счетчика на семафоре