[GNU/Linux]线程的终止

#include <stdio.h>

// linux API / pthread
#include <unistd.h>
#include <pthread.h>

int quit_flag = 0; 

// 线程入口函数
void* Thread_Main(void* context)
{
    for(int i=0; i<10 && !quit_flag ; i++)
    {
        printf("in thread main: %d ...\n", i);
        sleep(1);
    }
    printf("thread exit.\n"); // 线程自然退出
    return NULL;
}

// 
int main()
{
    // 创建线程(同时启动线程)
    pthread_t handle;
    if(pthread_create(&handle, NULL, Thread_Main, NULL) < 0)
    {
        printf("failed to create thread!\n");
        return -1;
    }
    
    //getchar();
    //quit_flag=1;
    
    pthread_join(handle, NULL);
    
    printf("main exit.\n");
    return 0;
}

 

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注