Chinaunix首页 | 论坛 | 博客
  • 博客访问: 63695
  • 博文数量: 96
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 852
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-13 20:47
个人简介

扎斯特都恩特

文章分类

全部博文(96)

文章存档

2018年(1)

2017年(2)

2016年(82)

2015年(11)

我的朋友

分类: LINUX

2015-10-18 18:43:48


点击(此处)折叠或打开

  1. #include "stdio.h"
  2. #include "string.h"
  3. #include "stdlib.h"
  4. #include "pthread.h"
  5. #include "unistd.h"


  6. pthread_t ntid;

  7. void printids(const char *s)
  8. {
  9.     pid_t pid;
  10.     pthread_t tid;
  11.     
  12.     pid = getpid();/*获取进程id*/
  13.     tid = pthread_self();/*获取线程id*/
  14.     printf("%s pid %d tid %u(0x%x)\n",s,(unsigned int)pid,(unsigned int)tid,(unsigned int)pid);
  15.     
  16. }

  17. void * thr_fn(void *arg)
  18. {
  19.     printids(arg);
  20.     return NULL;
  21. }
  22. int main(void)
  23. {
  24.     int err = 0;
  25.     void * ThreadResult = NULL;
  26.     
  27.     err = pthread_create(&ntid,NULL,thr_fn,"new thread:");/*创建一个线程*/
  28.     if(err!=0)
  29.     {
  30.         fprintf(stderr,"can't create thread:%s\n",strerror(err));
  31.         exit(1);
  32.     }
  33.     printids("main thread:");/*主线程中的打印*/
  34.     if(0!=pthread_join(ntid,&ThreadResult))
  35.     {
  36.         printf("wait thread fail!\n");
  37.     }
  38.     
  39.     return 0;
  40. }
编       译:gcc -o pthread_create pthread_create.c -l pthread
运行结果:new  thread: pid 11448  tid 3087461264(0x2cb8)
               main thread: pid 11448  tid 3087464128(0x2cb8)


阅读(889) | 评论(0) | 转发(0) |
0

上一篇:fork vs vfork

下一篇:pthread_cancel

给主人留下些什么吧!~~