thread-attribute

1.set thread detach status

void sample()
{
	pthread_attr_t  thread_attr;

	res= pthread_attr_init(&thread_attr);
	if(res != 0){
	perror("Attribute creation failed");
	exit(EXIT_FAILURE);
	}

	//set detach state
	res = pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED);
	if(res != 0) {
	perror("setdetachstate  failed");
	exit(EXIT_FAILURE);
	}

	//use attr when thread is created
	res = pthread_create(&a_thread, &thread_attr, thread_function, (void*)message);

	pthread_attr_destory(&thread_attr);

}

2. set thread schedule priority

#include <pthread.h>
void sample()
{
	int max_priority;
	int min_priority;
	struct sched_param scheduling_value;

	int res;
	pthread_attr_t  thread_attr;
	res = pthread_attr_setschedpolicy(&thread_attr,SCHED_OTHER);
	if(res != 0 ){
		perror("pthread_attr_setschedpolicy failure");
		exit(EXIT_FAILURE);
	}

	//look up prioriry range
	max_priority = sched_get_priority_max(SCHED_OTHER);
	min_priority = sched_get_priority_min(SCHED_OTHER);

	scheduling_valule.sched_priority = min_priority;
	res = pthread_attr_setschedparam(&thread_attr, & scheduling_value);
	if(res != 0 ){
		perror("pthread_attr_setschedparam failure");
		exit(EXIT_FAILURE);
	}
		//...
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值