В чем разница между exit() и exit_group(). Любой процесс, который имеет несколько потоков, должен использовать exit_group вместо выхода?В чем разница между exit() и exit_group()
Чтобы ответить на вопрос why do you ask
- у нас есть процесс, который содержит около 40 потоков. Когда поток заблокирован, мы автоматически выходим из процесса и затем перезапускаем процесс. И мы печатаем обратную линию нити, которая была заперта. Мы хотели знать, не является ли вызов exit в этом случае отличным от exit_group.
From the docs: This system call is equivalent to exit(2) except that it terminates not only the calling thread, but all threads in the calling process's thread group
- Однако в чем разница между выходом из процесса и выходом из всех потоков. Не выходит из процесса ==, выходя из всех потоков.
Согласно документу (и для экспериментов с 'strace'), [exit (3)] (http://man7.org/linux/man-pages/man3/exit.3.html) использует' exit_group ' –
Кстати, почему вы спрашиваете? Это фактически имеет значение только для разработчиков libc. –
Вызов 'библиотеки' библиотеки C вызывает системный вызов 'exit_group'. Системный вызов 'exit' только выходит из вызывающего процесса (а процесс - это поток в ядре). –