线程的清理

在这里插入图片描述

#include<stdio.h>
#include<pthread.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include<sys/types.h>

void *fisrt_clean(){

printf(" fisrt clean\n");
return (void *) 0;
}


void *senced_clean(){

printf(" senced clean\n");
return (void *) 0;
}


void *thread_fun1(){
printf("new thread 1\n");

pthread_cleanup_push(fisrt_clean,"thread1");
pthread_cleanup_push(senced_clean,"thread1");

pthread_cleanup_pop(1);
    
pthread_cleanup_pop(0);

return (void *)0;

}

void *thread_fun2(){
printf("new thread 2\n");

pthread_cleanup_push(fisrt_clean,"thread2");
pthread_cleanup_push(senced_clean,"thread2");

pthread_cleanup_pop(0);
pthread_cleanup_pop(0);

pthread_exit((void *)2);

}

int main(){
	pthread_t tid1 ,tid2;
	int err;
	err=pthread_create(&tid1 ,NULL,thread_fun1,NULL);

	if(err!=0){
		printf("cxcw\n");
		return 0;
	
	}

	err=pthread_create(&tid2 ,NULL,thread_fun2,NULL);

        if(err!=0){
                printf("cxcw\n");
                return 0;

        }


	sleep(2);

	return 0;

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值