线程练习
在程序中创建两条子线程,主线程创建一个线程的属性对象,并对线程的属性对象进行初始化之后,要求创建的子线程的属性设置为分离属性,子线程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;
}
浙公网安备 33010602011771号