Как вы могли бы сделать приложение в реальном времени на ОС не реального времени?
Вот информация об ОС реального времени
Если ваш поток имеет максимальный приоритет, вы можете получить не отвечающую систему (http://blogs.msdn.com/b/oldnewthing/archive/2010/06/10/10022675.aspx)
Что будет с моей веткой
когда он заканчивает свой временной интервал и там
нет ожидающих потоков с приоритетом> = 26?
Если нет других потоков с таким же или более высоким приоритетом, и ваш поток не блокирует (спящий режим, ожидание и т. Д.) - тогда система перепланирует его с новым временным интервалом.
Из MSDN article : "Система рассматривает все потоки с одинаковым приоритетом как равные. Система назначает интервалы времени циклическим образом всем потокам с наивысшим приоритетом. Если ни один из этих потоков готовы к работе, система назначает временные интервалы циклически для всех потоков со следующим наивысшим приоритетом. Если поток с более высоким приоритетом становится доступным для запуска, система прекращает выполнение потока с более низким приоритетом (без разрешения завершить использование своего временного интервала) и назначить полный временной интервал потоку с более высоким приоритетом "
Будет ли переключение контекста на
перенесите мою ветку для повторного запуска или
переключение контекста будет исключено, а
поток будет работать непрерывно?
Переключение контекста произойдет, когда поток перейдет в режим ядра (блоки, спит)
Вы можете предотвратить переключение контекста потока с помощью Thread.SpinWait.
Если будет переключение контекста - можно
кто нибудь подскажет сколько процессоров у него циклов
занимает в среднем?
Предполагая, что переключение контекста инициируется прерыванием, издержки переключения с уровня пользователя на уровень ядра на (2,8 ГГц) P4 составляют 1348 циклов, на (200 МГц) P2 227 циклов. Почему большая разница в циклах? Похоже, что P4 сбрасывает свой микрооперационный кеш как часть обработки прерывания (некоторые подробности о микрооперационном кеше можно найти на arstechnica.com). Считая фактическое время, P4 берет 481 нс, а P2 1335 нс.
Возврат с уровня ядра на уровень пользователя обойдется вам в 923 цикла (330 нс) на P4, 180 циклов (900 нс) на P2.
Накладные расходы на хранение / восстановление регистров (без учета каких-либо накладных расходов TLB / без учета стоимости сохранения / восстановления регистров FPU) составляют 188 циклов на P4 (67 нс), 79 циклов на P2 (395 нс). (взято из здесь )