Мне известно, что в .NET есть три типа таймеров (см. Сравнение классов таймеров в библиотеке классов .NET Framework). Я выбрал многопоточный таймер, так как другие типы могут дрейфовать, если основной поток занят, и мне нужно, чтобы это было надежно.
То, как этот таймер работает в управлении таймером, помещается в другой поток, поэтому он всегда может помечать галочку вместе с началом работы, завершенным в родительском потоке, когда он не занят.
Проблема с этим таймером в консольном приложении заключается в том, что пока таймер работает в другом потоке, основной поток ничего не делает, чтобы приложение закрылось.
Я пытался добавить цикл while true
, но затем основной поток слишком занят, когда таймер отключается.