Отдельные темы - PullRequest
       8

Отдельные темы

3 голосов
/ 15 августа 2010

Когда мы делаем Отдельные темы в основном. и предлагать основные выходы ... продолжаются ли отсоединенные потоки или они также выходят так же, как наши обычные присоединяемые потоки?

Ответы [ 2 ]

4 голосов
/ 16 августа 2010

Это полностью зависит от того, как выходит основной поток. Если он завершается с использованием exit() или с main(), то весь процесс завершается, и каждый поток завершается.

Однако, если для завершения используется pthread_exit(), процесс продолжается.

1 голос
/ 15 августа 2010

Если это будет другой поток, то основной, остальные потоки будут продолжены.Но стандарт C99 гласит:

Если тип возврата основной функции является типом, совместимым с int, возврат из начального вызова основной функции эквивалентен вызову функции выхода ...

(В настоящее время все распространенные платформы возвращают int из main, в частности, это требуется для POSIX.)

И страница POSIX для exit состояний

Эти функции должны завершать вызывающий процесс ...

Таким образом, в итоге возвращение main завершает всю программу, включая все потоки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...