dpdk-gcc 多线程关键字 __thread

来源:互联网 发布:ie js 表格导出excel 编辑:程序博客网 时间:2024/05/16 11:02

__thread 是gcc用于多线程存储局部变量,应该每个线程自己都有一份。

#include <stdio.h>#include <stdlib.h>#include <pthread.h>#include <time.h>__thread int var = 8;void *func0(void *arg){    ++var;    printf("func0:%d\n", var);}void *func1(void *arg){    usleep(3);    ++var;    printf("func1:%d\n", var);}int main(){    pthread_t p0, p1;    int i=0;    pthread_create(&p0, NULL,  func0, NULL);    pthread_create(&p1, NULL,  func1, NULL);    pthread_join(p0, NULL);    pthread_join(p1, NULL);    return 0;}

result:

func0:9func1:9

代码位置

【1】__thread man

0 0
原创粉丝点击