线程父子打印文本C语言

ana*_*ria 2 c pthreads

我写了一个程序,我在main中创建了一个有一个调用maFunction来显示文本消息的儿子的线程.问题是,当我执行它时,它不起作用,我不明白为什么.欢迎任何想法.非常感谢你 .

#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
void * maFonction (void * val) {
    char * chaine = (char *) val;
    printf ("text received: %s\n", chaine);
}

int main(void) {
    pthread_t leThread;
    int ret = pthread_create (&leThread, NULL, maFonction, "First program with Pthreads");
    if (ret != 0) {
        perror ("pthread_create");
        exit(EXIT_FAILURE) ;
    }
} 
Run Code Online (Sandbox Code Playgroud)

Nic*_*k S 6

您的程序在线程启动之前结束执行.

添加pthread_join(leThread, NULL);到最后main()

或添加sleep(1);,不要忘了,包括<unistd.h>sleep()