Altri hanno buone risposte dirette, ma ho intenzione di suggerire un'alternativa. Se ti capisco bene, vuoi un sistema in C++ o simile in cui puoi pubblicare eventi che si attivano in futuro, e il codice viene eseguito quando questi eventi si attivano.
Avevo un progetto da fare in questo modo e ho iniziato a provare a scrivere un tale sistema di eventi in C++ e poi ho realizzato rapidamente che avevo una soluzione migliore.
Hai mai pensato di scrivere il tuo programma in Verilog comportamentale? Potrebbe sembrare strano scrivere software in un linguaggio descrittivo dell'hardware, ma un simulatore Verilog è un sistema basato sugli eventi e il Verilog comportamentale è un modo molto conveniente per esprimere eventi, tempi, trigger, ecc. Esiste un simulatore Verilog gratuito (che è quello che ho usato) chiamato Icarus Verilog. Se non stai usando Ubuntu o qualche distribuzione Linux con Icarus già in un pacchetto, costruire dalla sorgente è semplice.
fonte
2012-02-19 15:07:46
Se si ha dimestichezza con Python, è possibile provare GarlicSim, che consente di eseguire simulazioni basate su agenti. (Non l'ho mai provato per migliaia, ma non credo che ci sarà un problema.) –