linux系统 线程控制函数

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>
~                                                                        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值