У других есть хорошие прямые ответы, но я собираюсь предложить альтернативу. Если я правильно понимаю вас, вам нужна система на C++ или такая, где вы можете публиковать события, которые срабатывают в будущем, и код запускается, когда эти события срабатывают.
У меня был проект, чтобы сделать это, и я начал писать такую систему событий на C++, а затем быстро понял, что у меня есть лучшее решение.
Считаете ли вы, что вы пишете свою программу в поведенческом Verilog? Может показаться странным писать программное обеспечение на языке описания аппаратного обеспечения, но симулятор Verilog - это система, основанная на событиях, а поведенческая Verilog - очень удобный способ выражения событий, времени, триггеров и т. Д. Существует бесплатный симулятор Verilog (который я использовал) называется Icarus Verilog. Если вы не используете Ubuntu или какой-либо дистрибутив Linux с Icarus уже в пакете, создание из источника является простым.
Если вам удобно с Python, вы можете попробовать GarlicSim, который позволит вам выполнять симуляции на основе агентов. (Я никогда не пробовал это за тысячи, но я не думаю, что с этим возникнут проблемы.) –