在子线程中执行exit()会导致整个进程退出

//
// Created by gxf on 2020/2/6.
//
#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>

void printMsg(char *msg);

int main(){
    pthread_t thread;
    pthread_create(&thread, NULL, printMsg, "hello c in thread");

    while (1) {
        printf("in main\n");
        sleep(1);
    }

    return 0;
}

void printMsg(char *msg) {
    int printCount = 10;
    while (printCount) {
        printf("%s\n", msg);
        printCount--;
        sleep(1);
    }
    exit(1);
}

  

 

posted on 2020-02-06 18:01  luckygxf  阅读(2142)  评论(0编辑  收藏  举报

导航