#include
#include
#include
#define TRUE 1 //定義兩個(gè)常量
#define FALSE 0
int thread_flag = TRUE; //標(biāo)志位
//線程處理函數(shù)
void *threaddeal(void *arg)
{
printf("當(dāng)前線程正在執(zhí)行.\n");
sleep(3); //休眠3秒
printf("線程即將退出.\n");
thread_flag = FALSE; //修改線程標(biāo)志位
pthread_exit(NULL); //線程退出
}
//主程序
int main(int argc,char *argv[])
{
pthread_t threadid; //定義線程描述符
pthread_attr_t thread_attr; //定義線程屬性對(duì)像
pthread_attr_init(&thread_attr); //線程屬性初始化
pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED); //將線程設(shè)置為分離狀態(tài)
if(pthread_create(&threadid, &thread_attr, threaddeal, NULL)) //創(chuàng)建新線程,并修改屬性
{
printf("創(chuàng)建線程失敗\n");
exit(0);
}
while(thread_flag) //判斷標(biāo)志位
{
printf("等待線程結(jié)束\n");
sleep(1);
}
printf("線程結(jié)束.\n");
return 0;
}
網(wǎng)站欄目:[Linux線程]使用線程的屬性
網(wǎng)頁(yè)路徑:
http://weahome.cn/article/gcojpj.html