У меня вопрос о параллельном программировании на языке Си.
В библиотеке pthread прототипом pthread_join
является
int pthread_join(pthread_t tid, void **ret);
, а прототипом pthread_exit
является:
void pthread_exit(void *ret);
Я не понимаю, почему pthread_join
принимает возвращаемое значение процесса как указатель на указатель void
из полученного потока, но pthread_exit
принимает только указатель void
из завершенного потока? Я имею в виду, что в основном все они возвращаются из потока, почему существует разница в типах?