다음에 System.out.println(msg + ": " + count++);
이 호출되고이 끝나는 이유는 무엇입니까?왜이 루프에서 if 문에있는 메시지는 루프가 끝난 후에 만 호출자입니까?
예 : printWithDelay(2, "Hello");
결과 : 카운트가 9 (~ 20 초)에 도달 한 후에 만 System.out.println()
의 모든 스택이 표시됩니다.
static void printWithDelay(int sec, String msg){
int count = 0;
long eventTime = System.nanoTime() + ((long)Math.pow(10, 10)*sec);
while(count < 10){
if(System.nanoTime() > eventTime){
System.out.println(msg + ": " + count++);
}
}
}
원하는 결과 : 정확히 if
문이 참일 때 메시지가 표시됩니다.
카운트 ++ 가 증가되지는 않습니다 – Arcaniel
'System.nanoTime()> eventTime'이 true이면 print 문은 몇 초 안에 10 번 실행됩니다. while 루프에 실제로 있지만 너무 빠릅니다. – locoyou
.... 뭐라 구요? 나는 당신이 원하는 것을 이해하기 어렵다고 느낍니다. tbh –