Скачать презентацию Лекция 1 8 POSIX Threads Операционные системы и Скачать презентацию Лекция 1 8 POSIX Threads Операционные системы и

OS&SP_Part1.8_Threads.pptx

  • Количество слайдов: 23

Лекция 1. 8: POSIX Threads Операционные системы и системное программирование Часть 1 Лекция 1. 8: POSIX Threads Операционные системы и системное программирование Часть 1

Определение POSIX Threads — стандарт POSIX реализации потоков (нитей) выполнения, определяющий API для создания Определение POSIX Threads — стандарт POSIX реализации потоков (нитей) выполнения, определяющий API для создания и управления ими. Заголовочный файл pthread. h

Набор типов Тип Определение pthread_t Дескриптор потока pthread_attr_t Перечень атрибутов потока pthread_cond_t Дескриптор условной Набор типов Тип Определение pthread_t Дескриптор потока pthread_attr_t Перечень атрибутов потока pthread_cond_t Дескриптор условной перменной pthread_mutex_t Дескриптор мьютекса

Функции управления потоками Функция Определение pthread_create Создание потока pthread_exit Завершение потока pthread_cancel Отмена потока Функции управления потоками Функция Определение pthread_create Создание потока pthread_exit Завершение потока pthread_cancel Отмена потока pthread_setcancelstate Установка реакции потока на принудительное завершение pthread_join Ожидание завершения потока pthread_detach Освобождения ресурсов потока pthread_self Возвращает дескриптор текущего потока

Функции управления атрибутами потока Функция Определение pthread_attr_init Инициализировать структуру атрибутов потока pthread_attr_setdetachstate Автоматически освободить Функции управления атрибутами потока Функция Определение pthread_attr_init Инициализировать структуру атрибутов потока pthread_attr_setdetachstate Автоматически освободить ресурсы структуры атрибутов после завершения потока pthread_attr_destroy Освободить память от структуры атрибутов

Функции синхронизации потоков Функция Определение pthread_mutex_init Инициализация мьютекса pthread_mutex_destroy Разрушения мьютекса pthread_mutex_lock Захват мьютекса Функции синхронизации потоков Функция Определение pthread_mutex_init Инициализация мьютекса pthread_mutex_destroy Разрушения мьютекса pthread_mutex_lock Захват мьютекса pthread_mutex_trylock Попытка захвата мьютекса pthread_mutex_unlock Освобождения мьютекса pthread_cond_init Инициализация условной переменной pthread_cond_signal Пробуждения блокированного потока pthread_cond_broadcast Широковещательное пробуждения потоков pthread_cond_wait Ожидания состояния pthread_cond_timedwait Ожидания состояния указанное время pthread_cond_destroy Разрушения условной переменной

pthread_create Тип Параметр Описание pthread_t * [out] thread Дескриптор потока pthread_attr_t * [in] attr pthread_create Тип Параметр Описание pthread_t * [out] thread Дескриптор потока pthread_attr_t * [in] attr Атрибуты потока void * (void *) [in] start_routine Прототип функции потока void * [in] arg Аргумент предаваемый функции потока int [out] РЕЗУЛЬТАТ 0 – при успешном создании потока; Больше 0 – код ошибки

pthread_exit Тип Параметр Описание void* [in] status Передаваемый статус завершения потока void [out] ВОЗРАЩАЕТ pthread_exit Тип Параметр Описание void* [in] status Передаваемый статус завершения потока void [out] ВОЗРАЩАЕТ НЕТ

pthread_cancel Тип Параметр Описание pthread_t* [in] pthread Дескриптор потока int [out] ВОЗРАЩАЕТ 0 – pthread_cancel Тип Параметр Описание pthread_t* [in] pthread Дескриптор потока int [out] ВОЗРАЩАЕТ 0 – при успешном создании потока; Больше 0 – код ошибки

pthread_join Тип Параметр Описание pthread_t * [in] thread Дескриптор потока void ** [out] status_addr pthread_join Тип Параметр Описание pthread_t * [in] thread Дескриптор потока void ** [out] status_addr Адрес на статус завершения потока int [out] РЕЗУЛЬТАТ 0 – при успешном завершении потока; Больше 0 – код ошибки

pthread_self Тип Параметр void [in] НЕТ pthread_t [out] ВОЗРАЩАЕТ Описание Возвращает дескриптор текущей нити pthread_self Тип Параметр void [in] НЕТ pthread_t [out] ВОЗРАЩАЕТ Описание Возвращает дескриптор текущей нити

pthread_mutex_init Тип Параметр Описание pthread_mutex_t [in] lock Дескриптор мьютекса pthread_mutexattr_t [in] attr Атрибуты мьютекса pthread_mutex_init Тип Параметр Описание pthread_mutex_t [in] lock Дескриптор мьютекса pthread_mutexattr_t [in] attr Атрибуты мьютекса int [out] РЕЗУЛЬТА Т 0 – при успешной инициализации; Больше 0 – код ошибки

pthread_mutex_destroy Тип Параметр Описание pthread_mutex_t [in] lock Дескриптор мьютекса int [out] РЕЗУЛЬТА Т 0 pthread_mutex_destroy Тип Параметр Описание pthread_mutex_t [in] lock Дескриптор мьютекса int [out] РЕЗУЛЬТА Т 0 – при успешном завершении потока; Больше 0 – код ошибки

pthread_mutex_lock Тип Параметр Описание pthread_mutex_t [in] lock Дескриптор мьютекса int [out] РЕЗУЛЬТА Т 0 pthread_mutex_lock Тип Параметр Описание pthread_mutex_t [in] lock Дескриптор мьютекса int [out] РЕЗУЛЬТА Т 0 – при успешном захвате мьютекса; Больше 0 – код ошибки

pthread_mutex_trylock Тип Параметр Описание pthread_mutex_t [in] lock Дескриптор мьютекса int [out] РЕЗУЛЬТА Т 0 pthread_mutex_trylock Тип Параметр Описание pthread_mutex_t [in] lock Дескриптор мьютекса int [out] РЕЗУЛЬТА Т 0 – при успешном захвате мьютекса; -1 – если мьютекс занят другим потоком; Больше 0 – код ошибки

pthread_mutex_unlock Тип Параметр Описание pthread_mutex_t [in] lock Дескриптор мьютекса int [out] РЕЗУЛЬТА Т 0 pthread_mutex_unlock Тип Параметр Описание pthread_mutex_t [in] lock Дескриптор мьютекса int [out] РЕЗУЛЬТА Т 0 – при успешном освобождении мьютекса; Больше 0 – код ошибки

pthread_cond_init Тип Параметр Описание pthread_cond_t [in] condition Дескриптор условной переменной pthread_condattr_t [in] attr Атрибуты pthread_cond_init Тип Параметр Описание pthread_cond_t [in] condition Дескриптор условной переменной pthread_condattr_t [in] attr Атрибуты условной переменной int [out] РЕЗУЛЬТА Т 0 – при успешной инициализации; Больше 0 – код ошибки

pthread_cond_signal Тип Параметр Описание pthread_cond_t [in] condition Дескриптор условной переменной int [out] РЕЗУЛЬТА Т pthread_cond_signal Тип Параметр Описание pthread_cond_t [in] condition Дескриптор условной переменной int [out] РЕЗУЛЬТА Т 0 – при успешной инициализации; Больше 0 – код ошибки

pthread_cond_broadcast Тип Параметр Описание pthread_cond_t [in] condition Дескриптор условной переменной int [out] РЕЗУЛЬТА Т pthread_cond_broadcast Тип Параметр Описание pthread_cond_t [in] condition Дескриптор условной переменной int [out] РЕЗУЛЬТА Т 0 – при успешной инициализации; Больше 0 – код ошибки

pthread_cond_wait Тип Параметр Описание pthread_cond_t [in] condition Дескриптор условной переменной pthread_mutex_t [in] mutex Дескриптор pthread_cond_wait Тип Параметр Описание pthread_cond_t [in] condition Дескриптор условной переменной pthread_mutex_t [in] mutex Дескриптор мьютекса для условной переменной int [out] РЕЗУЛЬТА Т 0 – при успешной инициализации; Больше 0 – код ошибки

pthread_cond_timedwait Тип Параметр Описание pthread_cond_t [in] condition Дескриптор условной переменной pthread_mutex_t [in] mutex Дескриптор pthread_cond_timedwait Тип Параметр Описание pthread_cond_t [in] condition Дескриптор условной переменной pthread_mutex_t [in] mutex Дескриптор мьютекса для условной переменной const struct timespec [in] abstime Время ожидания int [out] РЕЗУЛЬТА Т 0 – при успешной инициализации; Больше 0 – код ошибки

pthread_destroy Тип Параметр Описание pthread_cond_t [in] condition Дескриптор условной переменной int [out] РЕЗУЛЬТА Т pthread_destroy Тип Параметр Описание pthread_cond_t [in] condition Дескриптор условной переменной int [out] РЕЗУЛЬТА Т 0 – при успешной инициализации; Больше 0 – код ошибки

The End The End