У меня проблема с pthread_join(), надеюсь, все ответят. Я запускаю программу ниже, и мне нужно распечатать одну строку. После этого я пытаюсь удалить «pthread_join (th, & val)», и строка не распечатывается.
Я обнаружил все функции в программе, но я не понимаю, почему.
Можете ли вы помочь мне, я ценю все ответы.
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#define SMALL_STACK 131072
pthread_attr_t thread_attr;
void* fn(void* arg);
int main(int argc, char** argv)
{
pthread_attr_init(&thread_attr);
pthread_attr_setstacksize(&thread_attr, SMALL_STACK);
pthread_t th;
pthread_create(&th, &thread_attr, fn, (void*)14);
void* val;
pthread_join(th, &val);
return 0;
}
void* fn(void* arg)
{
printf("arg = 0x%x\n", (int)arg);
return NULL;
}