pthreads

Материал из Циклопедии
Перейти к навигации Перейти к поиску

POSIX Threads (широко известный как pthreads) — модель выполнения, существующая независимо от языка, а также модель параллельного выполнения.

Позволяет программе управлять несколькими различными потоками работы, которые пересекаются во времени. Каждая единица исполнения называется потоком (thread), а создание и управление этими потоками достигается путем обращения к POSIX Threads API. POSIX Threads — это API, определенный стандартом POSIX.1c, Threads extensions (IEEE Std 1003.1c-1995).

Реализации API доступны на многих Unix-подобных POSIX-совместимых операционных системах, таких как FreeBSD, NetBSD, OpenBSD, Linux, macOS, Android,[1] Solaris, Redox и AUTOSAR. Адаптивная, обычно поставляется в виде библиотеки libpthread. Для Microsoft Windows также существуют реализация в рамках подсистемы для приложений на базе UNIX (SFU), которая предоставляет собственную реализацию ряда POSIX API, а также в рамках пакетов сторонних разработчиков (third party), таких как pthreads-w32,[2], который реализует pthreads поверх существующего Windows API.

Содержание[править]

pthreads определяет набор типов данных, функций и констант языка программирования C. Он реализуется с помощью заголовка pthread.h и библиотеки потоков.

Существует около 100 процедур потоков, все они имеют префикс pthread_, и их можно разделить на четыре группы:

API семафоров POSIX работает с потоками POSIX, но не является частью стандарта threads, а определен в стандарте POSIX.1b, Real-time extensions (IEEE Std 1003.1b-1993). В связи с этим процедуры семафора имеют префикс sem_ вместо pthread_.

Источники[править]

  1. c libc/bionic/pthread.c - platform/bionic - Git at Google.
  2. Pthread Win-32: Level of standards conformance (2006-12-22). Проверено 29 августа 2010.
  3. pthread.h(0p) — Linux manual page. Проверено 18 декабря 2022.
Runi.svg Одним из источников этой статьи является статья в википроекте «Руниверсалис» («Руни», руни.рф), называющаяся «Pthreads».
Материал указанной статьи полностью или частично использован в Циклопедии по лицензии CC BY-SA.
Всем участникам Руниверсалиса предлагается прочитать «Обращение к участникам Руниверсалиса» основателя Циклопедии и «Почему Циклопедия?».