POSIX线程

✍ dations ◷ 2025-07-11 08:00:52 #应用程序接口,IEEE标准,并发计算

POSIX线程(英语:POSIX Threads,常被缩写为Pthreads)是POSIX的线程标准,定义了创建和操纵线程的一套API。

实现POSIX 线程标准的库常被称作Pthreads,一般用于Unix-like POSIX 系统,如Linux、 Solaris。但是Microsoft Windows上的实现也存在,例如直接使用Windows API实现的第三方库pthreads-w32;而利用Windows的SFU/SUA子系统,则可以使用微软提供的一部分原生POSIX API。

Pthreads定义了一套C语言的类型、函数与常量,它以pthread.h 页面存档备份,存于互联网档案馆头文件和一个线程库实现。

Pthreads API中大致共有100个函数调用,全都以"pthread_"开头,并可以分为四类:

POSIX的Semaphore API可以和Pthreads协同工作,但这并不是Pthreads的标准。因而这部分API是以"sem_"打头,而非"pthread_"。

线程操纵函数(简介起见,省略参数):

线程属性函数:

mutex函数:

条件变量函数:

线程私有存储(Thread-local storage):

同步屏障函数


其它多线程同步函数:


工具函数:

信号量函数,包含在semaphore.h中:

共享内存函数,包含在sys/mman.h中,链接时使用rt库:

C中使用 Pthreads的示例:

#include <stdio.h>#include <stdlib.h>#include <time.h>#include <pthread.h>static void wait(void){    time_t start_time = time(NULL);    while (time(NULL) == start_time)    {        /* do nothing except chew CPU slices for up to one second */    }}static void *thread_func(void *vptr_args){    int i;    for (i = 0; i < 20; i++)    {        fputs("  b\n", stderr);        wait();    }    return NULL;}int main(void){    int i;    pthread_t thread;    if (pthread_create(&thread, NULL, thread_func, NULL) != 0)    {        return EXIT_FAILURE;    }    for (i = 0; i < 20; i++)    {        puts("a");        wait();    }    if (pthread_join(thread, NULL) != 0)    {        return EXIT_FAILURE;    }    return EXIT_SUCCESS;}

这段程序创建了一个新线程,打印含有“b”的行,主线程打印含有“a”的行。当两个线程相互切换执行时输出结果为'a'和'b'交替出现。

相关

  • 展开大规模的攻势长衡会战,或称湖南会战,是指1944年(民国33年)5月至8月,在中国抗日战争的豫湘桂会战(1号作战)中,中国第9战区部队在湖南长沙、衡阳地区对日军进行的防御战役。学术界也将“长衡会战”
  • 反攻作战86,064人429,890人波罗的海 – 黑海 – 北极 – (跳马 – PQ-17船团 – 仙境)1941年巴巴罗萨 – (比亚韦斯托克及明斯克 – 斯摩棱斯克 – 乌曼 – 列宁格勒 – 第一次基辅
  • 网易考拉考拉海购,原名网易考拉,是一个跨境购物网站,于2015年1月9日成立。2016年,获得国内跨境电商中首张“B2C商品类电子商务交易服务认证证书”。2019年1月,于杭州湖滨银泰开设第一家线
  • 金家好媳妇2018年1月9日-2018年12月26日2018年6月7日-2020年1月23日《金家好媳妇》为三立电视2018年制播的八点档台剧。剧集从2017年11月13日至11月16日定妆,后三立重整剧本,于12月5日二度
  • 淇澳岛淇澳岛属中国广东省珠海市香洲区管辖。位于珠江口内西侧,北与虎门相对,东距内伶仃岛13公里,南距唐家1.2公里,是珠江出海口的第一道大门。全岛面积23.8平方公里,岛内动植物资源丰
  • 周芬斗周芬斗(?-?),字汝调,号虚中,又号知还,江南桐城县(今安徽)人,中国清朝官员。雍正十三年(1735年)举人出身,任福建平和县知县。乾隆十四年(1749年)三月接替周缉敬担任台湾府诸罗县知县,任内与番社
  • 山田耕筰山田耕筰(1886年6月9日-1965年12月29日),日本古典音乐作曲家、指挥家。作为日本明治维新后不久出生的音乐家,山田耕筰是日本最早的西洋古典音乐作曲家之一。他出身于一个下级武士
  • 四个婚礼和一个葬礼《四个婚礼和一个葬礼》(英语:)是一套1994年首映的英国爱情喜剧片,由米克·纽维尔执导,休·格兰特及安迪·麦杜维等主演。电影以一名英国中产阶级的男子Charles为中心,描述他及其
  • 伊尼戈·埃雷洪伊尼戈·埃雷洪·加尔万(西班牙语:Íñigo Errejón Galván,西班牙语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Luc
  • 张宏林张宏林(1971年7月26日-),现任公民监督国会联盟首席执行官、绿色和平电台主持人、亚洲体验教育协会理事。台湾绿党第十三届共同召集人、全球绿人台湾之友会前首席执行官、主妇联