Común · Literatura
Pthreads
Los hilos de POSIX, también conocidos como pthreads, son un modelo de ejecución independiente del lenguaje de programación. Este modelo permite que un programa controle varios flujos de trabajo diferentes que se solapan en el tiempo.
Leer más
A cada uno de estos flujos de trabajo se los conoce como subprocesos, y su creación y control se realiza mediante llamadas a la API de hilos de POSIX, definida por el estándar POSIX.1c, extensiones a los hilos (IEEE Std 1003.1c-1995). Hay implementaciones de la API en muchos sistemas operativos compatibles con POSIX o similares a UNIX, como por ejemplo FreeBSD, NetBSD, OpenBSD, Linux, macOS, Android, Solaris, Redox y AUTOSAR Adaptive. Estas implementaciones normalmente vienen en forma de librería. En Microsoft Windows también hay implementaciones, aunque no nativas: con SFU/SUA se podían utilizar los hilos de POSIX, o bien con librerías externas como pthreads-w32, que implementa el funcionamiento de pthreads utilizando el API nativo de hilos de Windows. pthreads define un conjunto de tipos, funciones y constantes en el lenguaje de programación C. Se implementa con un encabezado pthread.h y una biblioteca de hilos. Existen alrededor de 100 procedimientos, todos con el prefijo pthread_, y pueden dividirse en cuatro categorías: La API de semáforos POSIX funciona con los hilos de POSIX, pero no forma parte del estándar ya que se definió en la extensión POSIX.1b, extensiones de tiempo real (IEEE Std 1003.1b-1993). Como consecuencia de ello, los procedimientos de semáforo tienen el prefijo sem_ en lugar de pthread_. Un ejemplo que ilustra el uso de pthreads en C: Este programa crea cinco hilos, cada uno de los cuales ejecuta la función realiza_trabajo que imprime el identificador del hilo por salida estándar. Para compilar este programa utilizamos gcc: Y este es una de las posibles salidas al ejecutar el programa: Windows no soporta el estándar de pthreads de forma nativa.
Texto: Wikipédia, CC BY-SA 4.0. ·