6.3 Программирование с помощью pthread-ов

Предыдущая  Содержание  Следующая V*D*V

Для обсуждения различных операций с pthread-ами мы взяли очень простой MP3-плеер, код которого находится в файле player.c. Плеер имеет два основных компонента.

 

Инициализация: она включает в себя инициализацию звуковой подсистемы в отдельном потоке. Используется для демонстрации создания потока и выхода из процедуры.

Декодирование: это ядро приложения. Участвуют два рабочих потока. Основной поток читает данные из MP3-файла и добавляет их в очередь. Поток декодера извлекает данные, декодирует их и проигрывает. Очередь представляет собой общую структуру данных между основным потоком и потоком декодера. Рисунок 6.6 показывает различные объекты, которые участвуют в фазе декодирования. Идея заключается в подробной демонстрации различных примитивов синхронизации потоков.

 

Рисунок 6.6 Простой звуковой плеер.

Рисунок 6.6 Простой звуковой плеер.

 

Пожалуйста, обратите внимание, что этот раздел не является полным справочником по работе с потоками pthread. Нашей целью является дать вам достаточное количество деталей для быстрого начала работы с pthread-ми. Также в нашем примере плеера намеренно опущены специфические подробности, касающиеся декодирования и воспроизведения. Это сделано, чтобы уделить больше внимания операциям с pthread-ми в плеере.

 

Предыдущая  Содержание  Следующая