Я создал консольное приложение C # для обработки Ctrl - C , подписав его на событие Console.CancelKeyPress.Когда я выполнил (отладочную версию) приложение, в процессе уже было создано 14 потоков.Когда я нажал Ctrl - C , был создан новый 15-й поток и был вызван мой обработчик.Я использовал проводник процессов из sysinternals для просмотра состояния процесса.
Мне любопытно узнать о том, как доставляется сообщение Ctrl - C процесс и как создается дополнительный поток?Я предполагаю, что даже если я не подпишусь на событие, оно все равно создаст дополнительный поток и выйдет из процесса.Как механизм по умолчанию для обработки Ctrl - C настроен для приложения.
Я разработчик .net, но хочу понять, как работает операционная система Windows.работает под капотом.Вышеупомянутый вопрос только из любопытства, чтобы узнать операционную систему Windows.