线程练习

在程序中创建两条子线程,主线程创建一个线程的属性对象,并对线程的属性对象进行初始化之后,要求创建的子线程的属性设置为分离属性,子线程A输出”this is task1”,子线程B输出”this is task2”,主线程创建子线程之后就终止。

/*********************************************************************************
*
*
* 创建两个线程并设置为分离属性
* author:jindouliu2024@163.com 
* date:2025.5.8
* Copyright (c)  2024-2025   jindouliu2024@163.com   All right Reserved
* *********************************************************************************/
#include <stdio.h>
#include <pthread.h>

pthread_t task1_id;
pthread_t task2_id;
pthread_t main_id;
void * task1(void *arg)
{
	printf("this is task1\n");
	pthread_exit(NULL);
}
void * task2(void *arg)
{
	printf("this is task2\n");
	pthread_exit(NULL);
}
int main()
{
	//pthread_t task1_id,task2_id,main_id;
	//定义线程属性对象
	pthread_attr_t thread_arr;
	//初始化线程属性对象
	pthread_attr_init(&thread_arr);
	//设置线程属性
	pthread_attr_setdetachstate(&thread_arr,PTHREAD_CREATE_DETACHED);
	//使用线程属性创建线程
	pthread_create(&task1_id,&thread_arr,task1,NULL);
	pthread_create(&task2_id,&thread_arr,task2,NULL);
	//获取自身ID
	main_id = pthread_self();
	//主线程退出
	pthread_exit(NULL);
	return 0;
}
posted @ 2025-05-08 18:04  LRadian  阅读(9)  评论(0)    收藏  举报