Многопоточность в C / C ++ без ожидания завершения потока - PullRequest
0 голосов
/ 26 апреля 2019

Во всех примерах, которые я видел о многопоточности, этот метод используется в методе main для ожидания завершения потока:

 pthread_join(thread_id, NULL); 

Но что, если я не хочу, чтобы он ждал?Я хочу, чтобы моя основная функция продолжалась, поскольку поток выполняет свою работу, но в то же время я не хочу, чтобы main завершал работу до того, как поток существует.Возможно ли это в C / C ++?

1 Ответ

0 голосов
/ 26 апреля 2019

Если вы хотите избежать использования pthread_join(), тогда опция pthread_detach() является опцией. От man-page :

int pthread_detach (поток pthread_t);

Функция pthread_detach () отмечает поток, идентифицированный потоком как обособленно. Когда отдельный поток завершается, его ресурсы равны
автоматически возвращается в систему без необходимости
другой поток для соединения с завершенным потоком.

это не препятствует тому, чтобы нить была завершается, если процесс завершается с использованием exit (3) (или эквивалентно, если основной поток возвращается).

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