linux c 线程的创建与结束 (传参和返回值)

1. 线程的创建

1.1 线程创建函数

intpthread_create(
pthread_t*tidp,//线程的标识符指针
const pthread_attr_t*attr,//线程属性【重要】
(void*)(*start_rtn)(void*),//线程函数其实地址
void*arg//运行函数的参数
);

所属头文件:<pthread.h>

由于不属于默认库,所以编译的时候需加-lpthread

如果你是使用的code::blocks,(我就是),需在 project -> build option -> linker setting中add添加   pthread (注:没有无需 l)

1.2  pthread_attr 的相关说明

pthread_attr属性描述了线程的运行状态:

__detachstate: 表示新线程是否与进程中其他线程脱离同步,如果置位则新线程不能用pthread_join()来同步,且在退出时自行释放所占用的资源。缺省为PTHREAD_CREATE_JOINABLE状态。这个属性也可以在线程创建并运行以后用pthread_detach()来设置,而一旦设置为PTHREAD_CREATE_DETACH状态(不论是创建时设置还是运行时设置)则不能再恢复到PTHREAD_CREATE_JOINABLE状态。

__schedpolicy,表示新线程的调度策略,主要包括 SCHED_OTHER(正常、非实时)、 SCHED_RR(实时、轮转法)和 SCHED_FIFO(实时、先入先出)三种,缺省为 SCHED_OTHER,后两种调度策略仅对 超级用户有效。在线程函数中可以用过 pthread_setschedparam()来改变。

__schedparam,一个struct sched_param结构,目前仅有一个sched_priority整型变量表示线程的运行优先级。这个参数仅当调度策略为实时(即SCHED_RR或SCHED_FIFO)时才有效,并可以在运行时通过pthread_setschedparam()函数来改变,缺省为0。

__inheritsched,有两

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值