实例10-2.c

来自「Linux下C语言编程例子」· C语言 代码 · 共 33 行

C
33
字号
#include <stdio.h> 
#include <pthread.h> 
pthread_once_t once=PTHREAD_ONCE_INIT; 
void once_run(void) 
{ 
  printf("once_run in thread %d\n",pthread_self()); 
} 
void * child1(void *arg) 
{ 
  int tid=pthread_self(); 
  printf("thread %d enter\n",tid); 
  pthread_once(&once,once_run); 
  printf("thread %d returns\n",tid); 
} 
void * child2(void *arg) 
{ 
  int tid=pthread_self(); 
  printf("thread %d enter\n",tid); 
  pthread_once(&once,once_run); 
  printf("thread %d returns\n",tid); 
} 
int main(void) 
{ 
  int tid1,tid2; 
  printf("hello\n"); 
  pthread_create(&tid1,NULL,child1,NULL); 
  pthread_create(&tid2,NULL,child2,NULL); 
  sleep(10); 
  printf("main thread exit\n"); 
  return 0; 
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?