..
Все современные операционные системы потребуются годы, чтобы быть моделью мульти-процесс управления, назначение времени выполнения и памяти для различных программ, работающих одновременно. В последние годы, во многом благодаря широким распространением сети связи, эта концепция была распространена на отдельные программы, разделив тот же процесс несколько потоков управления этими потоками. Этот новый подход приносит огромные изменения в структуре программного обеспечения, как в теории и на практике, как это всегда бывает, модульность и выразительность выплачиваются в плане роста сложности программного обеспечения.
Языки программирования самые свежие, из Java, все предлагают родной API, для создания и управления потоками; систем на базе виртуальных машин, таких как Java и C # имеют разработчик уровне абстракции соответствует по этому вопросу и все остальные должны опираться на примитивов операционной системы, часто неся проблемы переносимости кода. В этом контексте библиотеки являются частью POSIX Threads (Pthreads), чтобы позволить разработчикам C также минимальная гарантия переносимости между различными системами.
Эта статья предназначена для тех, кто желает приблизиться к теме параллельного программирования в странах с низким уровнем языках. В этой презентации предполагается, что читатель уже получил базовые знания в области языка Си, не будут рассматриваться как основные темы, такие как, например, управление памятью и типы данных.
Как легко догадаться из названия, библиотек POSIX потоков являются частью набора POSIX (Portable Интерфейс операционной системы [для Unix]). Ссылаясь на определение "потоковой [...] определяет набор интерфейсов (функции, заголовочные файлы) для резьбовых процесс программирования для одного [...] может содержать несколько потоков, все из которых являются выполнение экспертизы программ [...] То же долю глобальной памяти (данные и куча сегментов), но его Каждый поток имеет собственный стек ". Этот отрывок описывает именно то, что принимает участие в мульти-программирования на темы POSIX:
Использование POSIX стандарт обеспечивает высокий уровень интеграции всех POSIX-совместимых систем, таких как, например, GNU / Linux, Mac OSX, BSD и даже Windows (с некоторыми дополнениями). В этой статье мы будем ссылаться на использование GCC под GNU / Linux, конечно, все рассуждения переносятся на любой другой POSIX-среде.
Библиотека pthread.h предоставляет все необходимое для программирования на нескольких потоков, а не делать просто список примитивов при условии, приведем практический пример, время от времени, обсуждая свои разногласия.
Итак, рассмотрим следующую задачу: программа должна читать из банковского перевода несколько файлов сбор и / или депозита, которые необходимо внести счета, то эти файлы будут иметь следующий вид:
+120 -550 +896 +5541 -85 ...Для ускорения различных потоков "Кассир", каждый работают на один файл и счет обновленного одновременно заказчика, мы выполнили все операции в состояние выхода из учетной записи.
| |
Photoshop (курс)
Веб-графики и редактирования фотографий с популярных Adobe Photoshop. От 49 €. |
| |
Visual Basic 6 (курс)
Сделать Приложения для настольных компьютеров с VB6. С 39 €. |
| |
Расширенный веб-мастеров (курс)
Станьте профессиональным веб-мастером. С 39 €. |