LinuxC 线程创建pthread_create() 获得线程返回值pthread_join() 线程撤销pthread_exit()等

内核级线程被内核调度、用户级线程被用户调度、混合式线程

创建pthread线程 pthread_create()

  • 成功返回thread所指位置并返回0,否则返回一个错误号
#include <pthread.h>

int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
                  void *(*start_routine) (void *), void *arg);
  • thread: 指向线程标识符的指针,为无符号长整形

    attr: 指向定义新线程特性结构的指针,默认NULL

    start_routine: 此线程只执行这一个函数

    arg: 传递给start_routine的参数


pthread_join()

  • 从原来的线程获得新线程的返回值。成功返回0,否则返回错误码
#include <pthread.h>

int pthread_join(pthread_t thread, void **retval);
  • thread是pthread_create获得的线程标识符。将thread的返回值存入retval所指位置

撤销线程

#include <pthread.h>

int pthread_cancel(pthread_t thread); //别的线程中被调用。很少使用,无法让线程清理自己资源机会
void pthread_exit(void *retval); //线程内被调用
  • 还可以用exit(),主函数return结束,信号(例SIGTERM)终止线程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值