Программирование для Linux. Профессиональный подход
Шрифт:
После создания поток начинает выполнять потоковую функцию. Это самая обычная функция, которая содержит код потока. По завершении функции поток уничтожается. В Linux потоковые функции принимают единственный параметр типа
Функция
■ Указатель на переменную типа
■ Указатель на объект атрибутов потока. Этот объект определяет взаимодействие потока с остальной частью программы. Если задать его равным
■ Указатель на потоковую функцию. Функция имеет следующий тип:
■ Значение аргумента потока (тип
Функция
Программа, представленная в листинге 4.1, создает поток, который непрерывно записывает символы 'x' в стандартный поток ошибок. После вызова функции
Компиляция и компоновка программы осуществляются следующим образом:
Запустите программу, и вы увидите, что символы 'x' и 'o' чередуются самым непредсказуемым образом.
При нормальных обстоятельствах поток завершается одним из двух способов. Один из них — выход из потоковой функции. Возвращаемое ею значение считается значением, передаваемым из потока в программу. Второй способ— вызов специальной функции
4.1.1. Передача данных потоку
Потоковый аргумент — это удобное средство передачи данных потокам. Но поскольку его тип
Благодаря наличию потокового аргумента появляется возможность использовать одну и ту же потоковую функцию с разными потоками. Все они будут выполнять один и тот же код, но с разными данными.
Программа, приведенная в листинге 4.2, напоминает предыдущий пример. На этот раз создаются два потока: один отображает символы 'x', а другой — символы 'o'. Чтобы вывод на экран не длился бесконечно, потокам передается дополнительный аргумент, определяющий, сколько раз следует отобразить символ. Одна и та же функция
Письма
Религия и эзотерика:
религия
рейтинг книги
Неучтенный элемент. Том 12
12. Антимаг. Вне системы
Фантастика:
фэнтези
рейтинг книги
Царь Живых
Фантастика:
ужасы и мистика
рейтинг книги
Старый тракт (сборник)
Сибириада
Проза:
современная проза
рейтинг книги
Моцарт и его время
Документальная литература:
биографии и мемуары
научпоп
рейтинг книги
Третий. Том 2
2. Отпуск
Фантастика:
космическая фантастика
попаданцы
рейтинг книги
Дитя прибоя
Дитя прибоя
Фантастика:
боевая фантастика
попаданцы
фэнтези
рейтинг книги
Газлайтер. Том 10
10. История Телепата
Фантастика:
боевая фантастика
рейтинг книги
Йога т4
рейтинг книги
Кодекс Охотника. Книга XII
12. Кодекс Охотника
Фантастика:
боевая фантастика
городское фэнтези
аниме
рейтинг книги
Хвак
рейтинг книги