Я хотел бы иметь программу, которая выполняет миллион асинхронных задач в течение длительного периода времени. Я хочу динамически управлять параллелизмом, но мы можем представить более простую версию с параллелизмом 20.
Я создал систему, которая использует tokio::task::spawn
для каждой из этих асинхронных задач. tokio::task::spawn
требует Future
со сроком службы 'static
. Если я каким-то образом сделаю свои фьючерсы стати c, как это повлияет на долгосрочное потребление памяти моей программой? Будет ли какое-то накопление памяти о фьючерсах, которые уже ожидались? Или единственное, что на самом деле накапливается, - это то, что делает это будущее 'static
?
Могу ли я передать в каждое будущее где-нибудь фиктивные данные c, такие как &str
, чтобы создать будущее состояние c но не держите память после того, как это ожидается? Мне здесь не хватает базового понимания.