Порядок выполнения лабораторной работы
Выполните задания
1-4.
Занесите в отчет
описание заданий со
всеми требуемыми пояснениями и ответами
на вопросы.
Требования
При подготовке к
лабораторной работе (дома) занесите в
отчет тексты программ из заданий 1-3.
Тексты программ должны
быть прокомментированы.
Студент должен
знать ответы на следующие вопросы:
Вопросы
Что такое поток?
Какова цель использования потоков в
программах?
Какова разница
между потоками и процессами?
Когда потоки могут
выполняться действительно параллельно?
Как можно создать
в программе новый поток?
Как передать в
поток параметры и получить из потока
возвращаемое значение?
Может ли функция,
выполняемая потоком, быть описана вне
программы?
Могут ли два потока
использовать одну и ту же функцию?
Что произойдет с
потоком, если поток, создавший его,
завершится?
Возможно ли
выполнить многопоточную программу на
многопроцессорной системе и на нескольких
компьютерах, объединенных в сеть?
Что такое критическая
секция в многопоточной программе?
Найдите критическую секцию в программе
simple_mutex.c.
Источники информации
Митчел М., Оулдем
Дж., Самьюэл А. Программирование для
Linux.
Профессиональный
подход. - М.: Издательский дом "Вильямс",
2003. (Глава 4) (The
original book (2001) is available at http://www.newriders.com or
http://www.advancedlinuxprogramming.com)
Ш. Уолтон. Создание
сетевых приложений в среде Linux. - М.:
Издательский дом "Вильямс", 2001.
(Глава 7)
---------------------------------------------------------------------------------------------------
© Лабораторная работа подготовлена
Л.В. Илюшечкиной и А.Е.Костиным (раздел
II).