系统api-线程

线程概念

每个线程都包含有表示执行环境所必需的信息(线程ID,一组寄存器值,栈,调度优先级,策略,信号屏蔽字,errno,线程私有数据).进程的可执行程序代码,全局内存,堆,栈,文件描述符对进程内所有线程均可见.

线程标识

int pthread_equal(pthread_t tidl, pthread_t tid2);
pthread_t pthread_self(void);

线程创建

int pthread_create(pthread_t *restrict tidp,// 获取线程ID
	const pthread_attr_t *restrict attr, void *(*start_rtn)(void*), void *restrict arg);

线程退出

(1). 从处理函数返回
(2). 被同进程的其他线程取消
(3). pthread_exit

void pthread_exit(void *rval_ptr);
// 等待指定线程停止/终止
int pthread_join(pthread_t thread, void **rval_ptr);
// 取消同一进程内某线程--提出请求,然后返回
int pthread_cancel(pthread_t tid);
// 分离线程
int pthread_detach(pthread_t tid);

对未分离线程,可调pthread_join以获取线程退出状态,回收其资源.对分离的线程,线程终止/停止时,关联资源也自动释放.不可对其用pthread_join

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

raindayinrain

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值