È possibile eseguire un'applicazione Java multithread in modo deterministico? Intendo avere sempre lo stesso thread che passa in due diverse sessioni della mia applicazione."Can not reproduce" - è possibile il multithreading deterministico Java?
Il motivo è quello di eseguire la simulazione esattamente nelle stesse condizioni in ogni corsa.
In questo caso si assegna un seme arbitrario quando si utilizza un generatore di numeri casuali per ottenere sempre la stessa sequenza "casuale".
programmazione dei thread è controllata dal sistema operativo, non è Java. –
Se il codice è stato sincronizzato con cura e dipende solo dall'input disponibile in anticipo, dovrebbe sempre apparire allo stesso modo. (O per capovolgerlo, se i risultati dipendono dalla tempistica specifica di ogni esecuzione, non hai sincronizzato abbastanza bene il tuo codice.) A seconda di cosa hai realmente bisogno, potresti anche provare un'implementazione in tempo reale della VM Java. – biziclop
@biziclop, Se il tuo programma è così completamente sincronizzato, è probabile che tu abbia perso almeno alcuni dei vantaggi dell'utilizzo di più thread. –