LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

Но мне нужно четко понимать, что есть допустим функция F которая будет гарантированно выполнена за время не более чем T. И что это T не будет плавать, потому что происходят события вроде gc, или распределения каких-то например очередей событий асинхронно относительно потока скрипта.

если б это был си, то гарантированное время делается на высокоприоритетных тредах, чтобы низкоприоритетные их прервать не смогли. иначе ваш код будет прерван каким-то системным тредом или другим юзеровским и разумеется гарантии уже не будет. если вы этого не учитываете, значит рилтайм вам не очень жесткий и нужен.

то есть настоящий жесткий рилтайм обеспечиваеся еще и работой с приоритетами ну или вообще выделением кода в специальные высокоприоритетные deferred service routine(называются по разному) - это типа внешних хуков, что выполнятся прямо на стеке текущего треда, чтобы даже время на переключение тредов не тратить.

Исходная версия alysnix, :

Но мне нужно четко понимать, что есть допустим функция F которая будет гарантированно выполнена за время не более чем T. И что это T не будет плавать, потому что происходят события вроде gc, или распределения каких-то например очередей событий асинхронно относительно потока скрипта.

если б это был си, то гарантированное время делается на высокоприоритетных тредах, чтобы низкоприоритетные их прервать не смогли. иначе ваш код будет прерван каким-то системным тредом и разумеется гарантии уже не будет. если вы этого не учитываете, значит рилтайм вам не очень жесткий и нужен. то есть настоящий жесткий рилтайм обеспечиваеся еще и работой с приоритетами ну или вообще выделением кода в специальные высокоприоритетные deferred service routine(называются по разному) - это типа внешних хуков, что выполнятся прямо на стеке текущего треда, чтобы даже время на переключение тредов не тратить.