Почему? Вы выдерживаете получить прибыль, если я начинаю писать код на другом языке?:-P
Все ребячество в стороне, я пишу код C++, потому что вот почему мой работодатель платит мне. Это действительно настолько просто. Если бы они решили использовать другой язык, то я начал бы использовать его. Теперь, относительно того, почему они приняли решение использовать его, я могу только размышлять. Мое предположение - то, что у них есть две основных причины:
Из документации для pthread_create :
Поток создается при выполнении start_routine с аргументом arg в качестве единственного аргумента. Если start_routine возвращается, эффект такой же, как если бы был неявный вызов pthread_exit () с использованием возвращаемого значения start_routine в качестве статуса выхода. Обратите внимание, что поток, в котором изначально был вызван main (), отличается от этого. Когда он возвращается из main (), эффект такой же, как если бы был неявный вызов exit () с использованием возвращаемого значения main () в качестве статуса выхода.
И pthread_exit :
Функция pthread_exit () завершает вызывающий поток и делает значение value_ptr доступным для любого успешного соединения с завершающим потоком.
Итак, если вы выполняете pthread_join в потоке,
Если
start_routine
возвращается, эффект такой, как если бы был неявный вызовpthread_exit ()
с помощью возвращаемое значениеstart_routine
в качестве статус выхода.