Контроль скорости выполнения цикла - PullRequest
2 голосов
/ 10 марта 2011

Есть ли способ контролировать скорость выполнения цикла?У меня есть симуляция, которая работает в цикле 30000 шагов.Я хочу визуализировать, что происходит в этом цикле, и, если возможно, контролировать скорость выполнения во время его работы.Есть идеи, как мне это сделать?

Ответы [ 4 ]

6 голосов
/ 10 марта 2011

Вы можете добавить sleep к циклу, чтобы приостановить каждую итерацию.

Хотя вопрос получше, как вы это визуализируете?Я предполагаю, что вы наблюдаете за всплывающим текстом на консоли ... если это так, вы можете рассмотреть вывод в файлы, а не на экран.Таким образом, вы можете просматривать выходные данные на досуге, и вам не нужно добавлять искусственные замедления в программу.

... но если с помощью «визуализации» это фактическая вещь с графическим интерфейсом, то да,сон может быть лучше.

5 голосов
/ 10 марта 2011

Поместите оператор Thread.sleep() в цикл. Остерегайтесь, однако, что вы должны обработать исключение.

for(int i = 0; i < 30000; i++) {

    ...

    try {
        Thread.sleep(100);
    }
    catch(InterruptedException e) {
        // do something with e
    }
}
1 голос
/ 10 марта 2011

вы можете поместить в свой цикл Thread.sleep(latency);, где задержка в миллисекундах.

0 голосов
/ 11 марта 2011

Вы можете попробовать использовать Thread.sleep (), как сказали другие парни.Но чтобы «знать», что происходит в цикле, я думаю, вам лучше debug it .. Я думаю, худший вариант - это напечатать все на экране (не было бы так плохо вне цикла, ноучитывая 50+ петель, это становится невыполнимым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...