0

pthread_join() に問題があります。みんなが答えてくれることを願っています。以下のプログラムを実行しており、1 行を印刷する必要があります。その後、「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;
}
4

1 に答える 1