#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#define TRUE 1 //定义两个常量
#define FALSE 0
int thread_flag = TRUE; //标志位
//线程处理函数
void *threaddeal(void *arg)
{
printf("当前线程正在执行.\n");
sleep(3); //休眠3秒
printf("线程即将退出.\n");
thread_flag = FALSE; //修改线程标志位
pthread_exit(NULL); //线程退出
}
//主程序
int main(int argc,char *argv[])
{
pthread_t threadid; //定义线程描述符
pthread_attr_t thread_attr; //定义线程属性对像
pthread_attr_init(&thread_attr); //线程属性初始化
pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED); //将线程设置为分离状态
if(pthread_create(&threadid, &thread_attr, threaddeal, NULL)) //创建新线程,并修改属性
{
printf("创建线程失败\n");
exit(0);
}
while(thread_flag) //判断标志位
{
printf("等待线程结束\n");
sleep(1);
}
printf("线程结束.\n");
return 0;
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。