#include<stdio.h>#include<pthread.h>classTest{public:Test(){printf("c:%p\n",this);}~Test(){printf("d:%p\n",this);}};void*func(void*arg){staticthread_localint a =0;staticthread_local Test t;int n =(int)arg;for(int i =0; i <1000000;++i)++a;// printf("%d:%d\n",n,++a);return(void*)a;}intmain(){
pthread_t t1,t2;pthread_create(&t1,nullptr, func,0);pthread_create(&t2,nullptr, func,1);int a,b;pthread_join(t1,(void**)&a);pthread_join(t2,(void**)&b);printf("a + b:%d\n", a + b);}