Содержание
- 2. Потоки исполнения - Thread Наименьшая единица обработки, исполнение которой может быть назначено ядром операционной системы. Реализация
- 3. Для понимания работы потоков необходимо пом- нить, что каждый поток имеет независимый от других потоков стек
- 5. В рамках процесса могут находиться один или несколько потоков, каждый из которых обладает следующими характеристиками: Состояние
- 6. Потоки выполнения отличаются от традиционных процессов многозадачной операционной системы тем, что: процессы, как правило, независимы, тогда
- 7. Основные преимущества использования потоков с точки зрения производительности: Создание нового потока в уже существующем процессе занимает
- 8. Примеры многопоточных программ Фоновая обработка данных в программах с развитым интерфейсом пользователя Асинхронная обработка данных от
- 9. Системные вызовы для работы потоков
- 10. Системный вызов pthread_create #include int pthread_create(pthread_t *tid, const pthread_attr_t *attr, void*(*func) (void*), void *arg); При успешном
- 11. Системный вызов pthread_self #include pthread_t pthread_self(); Возвращает идентификатор текущего потока
- 12. Системный вызов pthread_join #include int pthread_join (pthread_t thread, void **status_addr); Функция pthread_join блокирует работу вызвавшей ее
- 13. Системный вызов pthread_detach #include int pthread_detach(pthread_t thread); Отсоединяет поток. По умолчанию все потоки создаются присоединенными. Это
- 14. Системный вызов pthread_exit #include void pthread_exit(void *status); Функция pthread_exit служит для завершения нити исполнения текущего процесса.
- 15. Системный вызов pthread_cancel #include int pthread_cancel(pthread_t tid); Завершает досрочно поток tid. Может завершить поток досрочно, ее
- 16. Системный вызов pthread_setcancelstate() #include Int pthread_setcancelstate(int state, int *oldstate); Устанавливает режим реагирования потока на вызов pthread_cancel().
- 17. Значение режима реагирования на pthread_cancel
- 18. Системный вызов pthread_setcanceltype() #include Int pthread_setcanceltype(int type, int *oldtype); Устанавливает тип реагирования на прерывание.
- 19. Системный вызов pthead_testcancel() #include Void pthread_testcancel(); Создает точку проверки прерывания потока.
- 20. Точки прерывания Функции, которые проверяют нужно ли прерывать поток: accept(), aio_suspend(), close(), connect(), creat(), fcntl(), fsync(),
- 21. Механизм отложенного досрочного завершения очень полезен, но для действительно эффективного управления завершением потоков необходим еще и
- 22. Для установки обработчика завершения потока применяется макрос pthread_cleanup_push(). Подчеркиваю жирной красной чертой, pthread_cleanup_push() – это макрос,
- 24. Скачать презентацию