在子线程中执行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
");
        sleep(1);
    }

    return 0;
}

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

  

原文地址:https://www.cnblogs.com/luckygxf/p/12269630.html