Czy można uruchomić wielowątkową aplikację Java w deterministyczny sposób? Mam na myśli zawsze takie samo przełączanie wątków w dwóch różnych przebiegach mojej aplikacji."Nie można odtworzyć" - czy możliwe jest wielowymiarowe oznaczanie Java?
Powodem tego jest przeprowadzenie symulacji dokładnie w takich samych warunkach podczas każdego biegu.
Podobny przypadek występuje wtedy, gdy daje się dowolne nasienie przy użyciu generatora liczb losowych, aby uzyskać zawsze tę samą "losową" sekwencję.
szeregowanie Temat jest kontrolowane przez system operacyjny, a nie Java. –
Jeśli zsynchronizowałeś swój kod wystarczająco ostrożnie i zależy tylko od wejścia z przodu, to zawsze powinno wyglądać, że działa tak samo. (Lub go obrócić, jeśli wyniki zależą od określonego czasu każdego uruchomienia, nie zsynchronizowałeś wystarczająco dobrze swojego kodu.) W zależności od tego, czego naprawdę potrzebujesz, możesz również spróbować implementacji wirtualnej maszyny Java w czasie rzeczywistym. – biziclop
@biziclop, Jeśli twój program jest tak dokładnie zsynchronizowany, są szanse, że straciłeś przynajmniej niektóre korzyści z używania wielu wątków. –