programing

pthread에 대한 start_routine_create return void* 및 void*를 생성하는 이유

powerit 2023. 10. 20. 14:53
반응형

pthread에 대한 start_routine_create return void* 및 void*를 생성하는 이유

에 대한 함수 헤더pthread_create다음과 같습니다.

int pthread_create(pthread_t * thread, 
                   const pthread_attr_t * attr,
                   void * (*start_routine)(void *), 
                   void *arg);

기능 포인터를 제외하고는 모두 이해합니다.start_routine형식입니다.void* (*fpointer) (void*)그 말은 그 일이 그 일에void* 를 반환합니다.

void*매개변수는 단지 논쟁에서 전달하는 방법일 뿐입니다.start_routine, 그 부분은 이해가 되는데 왜 기능이 a를 반환하는지 이해가 안가요.void*? 어떤 코드가 그 반환 값을 알아챌까요?

다음에 대한 설명서에서:

스레드가 생성되어 실행 중입니다.start_routine와 함께arg유일한 논거로만약에start_routine반환, 결과는 마치 에 대한 암묵적인 호출이 있었던 것과 같습니다.pthread_exit()반환 값을 사용하여start_routine퇴거 상태로주의할 점은 다음과 같습니다.main()원래 호출된 것과 이것은 다릅니다.에서 돌아올때main(), 그 효과는 마치 에 대한 암묵적인 요청이 있었던 것과 같습니다.exit()반환 값을 사용하여main()퇴거 상태로

그리고:

pthread_exit()함수는 호출 스레드를 종료하고 값을 만듭니다.value_ptr성공한 사람이라면 누구나 이용할 수 있는join종단 나사산과 함께.

그래서 만약에 당신이.pthread_join스레드에서 반환되는 포인터는 다시 결합 스레드로 전달되어 죽어가는 스레드에서 다른 살아있는 스레드로 정보를 전송할 수 있습니다.

사양에서:

만약에start_routine반환, 결과는 마치 에 대한 암묵적인 호출이 있었던 것과 같습니다.pthread_exit()반환 값을 사용하여start_routine퇴거 상태로

언급URL : https://stackoverflow.com/questions/1352426/why-does-start-routine-for-pthread-create-return-void-and-take-void

반응형