Если у меня есть программа с двумя потоками и обработчик сигнала, зарегистрированный на signum, который что-то печатает. Сколько раз оно будет напечатано, если я отправлю сигнальный знак в мою программу?Обработчик сигналов с потоками
0
A
ответ
1
Я предполагаю систему Unix или Unix. Сигнал получает только один из потоков. От TLPI:
Когда сигнал поступает в многопоточном процесс, который имеет установил обработчик сигнала, ядро произвольно выбирает один нить в процессе, к которому доставить сигнал и вызывает обработчик в этом потоке.
Смежные вопросы
- 1. Использование сигналов с потоками POSIX на linux
- 2. Обработчик сигналов для всех сигналов
- 3. Обработчик сигналов для SIGINT
- 4. Обработчик сигналов для SIGINT
- 5. Обработчик сигналов внутри класса
- 6. sigwait() и обработчик сигналов
- 7. c Обработчик сигналов
- 8. Отправка сигналов между тремя потоками
- 9. системный вызов и обработчик сигналов
- 10. Как переопределить обработчик сигналов Django?
- 11. Несколько сигналов, поступающих в обработчик
- 12. Как чередовать непрерывно Обработчик сигналов
- 13. Обработчик сигналов и ожидание сосуществуют
- 14. Обработчик сигналов, не вызываемый при использовании sigaction
- 15. Обработчик сигналов не видит глобальную переменную
- 16. Почему обработчик сигналов ничего не выводит?
- 17. Python: Django: обработчик сигналов и основной поток
- 18. Обработчик сигналов выходит, но программа продолжает работать?
- 19. Qt: Использование сигналов и слотов между двумя дочерними потоками
- 20. Проблемы с обработкой сигналов
- 21. обработки сигналов с помощью sigaction
- 22. Система Linux() и обработчик сигналов вызывают состояние гонки?
- 23. Обработчик сигналов принимает (* args), как мне их предоставить?
- 24. Обработчик сигналов работает в python, но не в ipython
- 25. Невозможно подключить сигнал и обработчик сигналов в Glade GTK + 3
- 26. Обработчик сигналов Не работает На моем C-сервере HTTP
- 27. Обработчик сигнала старого окна, заменяемого новым обработчиком сигналов Windows GTK +
- 28. c - Не удается подписаться на новый обработчик сигналов в Linux
- 29. Могу ли я установить обработчик сигналов для тестирования модулей Boost?
- 30. Состояние потоков при запуске обработчика сигналов
Не могу винить вас, я также игнорирую существование Microsoft :-) – e271p314
Я думаю, что также важно сказать, что с помощью 'pthread_sigmask' вы можете контролировать, какие потоки получают какие сигналы. Используя это, вы можете эффективно контролировать, к какому потоку будет передан ваш сигнал. – e271p314