たとえば、3つのスレッドを作成して同じ順序で結合するとします。 2番目のスレッドが最初に終了すると、pthread_joinはどうなりますか? tid1が終了するか、pthread_join(& tid2、NULL)から直接返されるまで、プログラムはブロックされますか?スレッドが他のスレッドがそれを待つ前に終了する場合(join)?
pthread_t tid1,tid2,tid3;
pthread_create(&tid1, NULL, SomeFun, NULL);
pthread_create(&tid2, NULL, SomeFun, NULL);
pthread_create(&tid3, NULL, SomeFun, NULL);
pthread_join(&tid1, NULL);
pthread_join(&tid2, NULL);
pthread_join(&tid3, NULL);
'pthread_join()'は恐ろしい "出身"ではありません。 – EOF