Это пока не ясно. Мне не нравится ванильный способ ограничения времени потока, то есть «обрезать по <seconds>
», потому что это означает, что, если в элементах XADD-процесса есть задержка, позже следующий XADD придется выселить. вещи потенциально на секунды, вызывая всплески задержки. Более того, это не имеет большого смысла семантически. Ваш реальный «ограниченный ресурс» - это память, поэтому на самом деле не так важно, сколько предметов вы хотите сохранить в прошлом VS, сколько предметов вы можете хранить, поэтому ограничение количества предметов имеет больше смысла. Тем не менее, в некоторых приложениях, где есть несколько потоков со скоростями вставки, которые сильно различаются у разных производителей, имеет смысл ограничить время, чтобы не тратить память у некоторых производителей, которые выдают очень мало записей за единицу времени. Возможно, в какой-то момент я добавлю некоторое ограничение времени «наилучшего усилия», которое не выполняет больше работы, чем заданное количество, но которое в конечном итоге сможет обрезать поток, учитывая достаточно вызовов XADD.