pthread_exit из функции, вызываемой из потока - PullRequest
1 голос
/ 21 мая 2011

Предположим, я создал поток, который в какой-то момент вызывает функцию foo ().Если я вызову pthread_exit () из foo, получится ли в результате завершение потока, вызвавшего foo?

спасибо, Никос

Ответы [ 4 ]

2 голосов
/ 21 мая 2011

Конечно. Иначе какой смысл pthread_exit в первую очередь. http://www.kernel.org/doc/man-pages/online/pages/man3/pthread_exit.3.html «Функция pthread_exit () должна завершить вызывающий поток»

0 голосов
/ 21 мая 2011

Конечно - контекст потока не зависит от вызова / возврата. Поток вызывает pthread_exit () независимо от длины стека вызовов. Если 20 потоков вызывают foo, то все 20 потоков завершают работу.

Rgds, Martin

0 голосов
/ 21 мая 2011

Да, конечно.Это также приведет к вызову кода очистки, если таковой имеется.Помните, что он не будет автоматически очищать ресурсы приложения, такие как мьютексы и т. Д. Для получения дополнительной информации см. Документацию pthread_exit () .

0 голосов
/ 21 мая 2011

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

Функция pthread_exit () завершается вызывающая нить

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