Здравствуйте!
Не могу понять как правильно вернуть из треда его статус завешения и как этот статус получить в main().
pthread_exit() или return из треда должны возвращать указатель на void. Но при этом переменная не может быть локальной, в итоге остаётся либо возвращать адрес глобальной переменной, либо выделять память на куче и возращать адрес на неё.
Второе очень странно и не логично, потому что городить вызовы malloc(), и потом free() в главном потоке, только для того чтобы только получить код завершения это overhead.
А если возвращать указатель на глобальную переменную, то какой смысл в этих pthread_exit() если можно просто установить глобальную переменную в нужнозе значение и всё?
Как-то нелогично IMHO сделано. Объясните, пожалуйста.
P.S. Был в гугле со словами "pthread_exit() get status"
Ответ на:
комментарий
от DmVo
Ответ на:
комментарий
от rei3er
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Завершение многопоточного приложения (2021)
- Форум Как освобождать память завершённых нитей? (2014)
- Форум выделение памяти и структуры (2008)
- Форум malloc (2003)
- Форум std::bad_function_call на указатель метода класса (2023)
- Форум Определение типа. Как реализовать? (2005)
- Форум Вопрос про выделение памяти в С функции. (2004)
- Форум Поморгать светодиодом Arduino с прерываниями. (2013)
- Форум глоб. переменная всей программы в библиотеке ? (2004)
- Форум fork(), exec(), wait() (2020)