これは私が疑問に思っていることです:
pthread_create() でスレッドを作成し、そのスレッドから pthread_self() を呼び出した場合、その値はメイン スレッドで pthread_create に渡す pthread_t 値と一致しますか?
//pthread_t variable
pthread_t producer_thread = (pthread_t*)malloc(sizeof(pthread_t));;
//create the thread
pthread_create(producer_thread, NULL, producer, NULL);
printf("Pthread_t variable after creating thread says %d\n", producer_thread);
....
//function passed to thread
void producer(void *p){
printf("Pthread self says: %d\n", pthread_self());
}