pthread_self()函数
- 头文件:#include<pthread.h>
- 原型:pthread_t pthread_self(void);
- 返回值:永远不会失败并且返回调用该函数的线程ID
- pthread_t类型:在Linux下为无符号整数(%lu),其他系统中可能是结构体实现
- 作用:获取线程ID
pthread_create()函数
- 头文件:#include<pthread.h>
- 原型:int pthread_create(pthread_t *thread,const pthread_attr_t *attr,void *(*start_routine)(void*),void *arg);
- 参数1:传出线程ID
- 参数2:设置线程的属性
- 参数3:函数指针,指向线程主函数(线程体)
- 参数4:线程主函数执行期间所使用的参数
- 返回值:成功返回0;失败返回错误编号
- 作用:创建一个新线程
1 #include<pthread.h>
2 #include<stdlib.h>
3 #include<string.h>
4 #include<stdio.h>
5 #include<unistd.h>
6 void *thrd_func(void *arg)
7 {
8 printf("In thread2: thread id = %lu,pid=%d\n",pthread_self(),getpid());
9 }
10 void main(void)
11 {
12 pthread_t tid;
13 int ret;
14 printf("In thread1: thread id = %lu,pid=%d\n",pthread_self(),getpid());
15 ret=pthread_create(&tid,NULL,thrd_func,NULL);
16 if(ret!=0){
17 printf("pthread_create error:%s\n",strerror(ret));
18 exit(1);
19 }
20 printf("In thread1: thread id = %lu,pid=%d\n",pthread_self(),getpid());
21 sleep(1);
22 }
23 //strerror(errnum);打印错误号码的信息,头文件:#include<string.h>
~