Почему делает start_routine для pthread_create, возвращаются пусто* и берут пусто*

Почему? Вы выдерживаете получить прибыль, если я начинаю писать код на другом языке?:-P

Все ребячество в стороне, я пишу код C++, потому что вот почему мой работодатель платит мне. Это действительно настолько просто. Если бы они решили использовать другой язык, то я начал бы использовать его. Теперь, относительно того, почему они приняли решение использовать его, я могу только размышлять. Мое предположение - то, что у них есть две основных причины:

  1. существует вполне достаточное предоставление выпускников колледжа, которые являются достаточно хороши в C++, что они могут выполнить свои бизнес-цели.
  2. предложения C++ достаточно хороший производительность в режиме реального времени распределенные системы.
26
задан Vilhelm Gray 3 May 2013 в 20:07
поделиться

2 ответа

Из документации для pthread_create :

Поток создается при выполнении start_routine с аргументом arg в качестве единственного аргумента. Если start_routine возвращается, эффект такой же, как если бы был неявный вызов pthread_exit () с использованием возвращаемого значения start_routine в качестве статуса выхода. Обратите внимание, что поток, в котором изначально был вызван main (), отличается от этого. Когда он возвращается из main (), эффект такой же, как если бы был неявный вызов exit () с использованием возвращаемого значения main () в качестве статуса выхода.

И pthread_exit :

Функция pthread_exit () завершает вызывающий поток и делает значение value_ptr доступным для любого успешного соединения с завершающим потоком.

Итак, если вы выполняете pthread_join в потоке,

28
ответ дан 28 November 2019 в 07:37
поделиться

Из спецификации :

Если start_routine возвращается, эффект такой, как если бы был неявный вызов pthread_exit () с помощью возвращаемое значение start_routine в качестве статус выхода.

7
ответ дан 28 November 2019 в 07:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: