2013-06-23 2 views
0

Я хочу, чтобы второй отпечаток произошел через 2 секунды.Java wait for next print

System.out.println("First print."); 
//I want the code that makes the next System.out.println in 2 seconds. 
System.out.println("This one comes after 2 seconds from the println."); 
+5

Использование http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html#sleep(long) – Maroun

+0

Как все-же-ответ ниже вам сказать :) – Maroun

ответ

5

Просто используйте Thread#sleep:

System.out.println("First print."); 
Thread.sleep(2000);//2000ms = 2s 
System.out.println("This one comes after 2 seconds from the println."); 

Обратите внимание, что Thread.sleep может бросить InterruptedException, так что вам потребуется пункт throws или try-catch, как:

System.out.println("First print."); 
try{ 
    Thread.sleep(2000);//2000ms = 2s 
}catch(InterruptedException ex){ 
} 
System.out.println("This one comes after 2 seconds from the println."); 

или:

public void something() throws InterruptedException { 
    System.out.println("First print."); 
    Thread.sleep(2000);//2000ms = 2s 
    System.out.println("This one comes after 2 seconds from the println."); 
} 
3
try { 
    Thread.sleep(2000); //2 secs 
catch (InterruptedException e) { 
} 
1
Thread.currentThread().sleep(2000); //2000 milliseconds = 2 seconds 
1

Если вы хотите, чтобы ваш код Java, чтобы спать в течение 2 секунд вы можете использовать функцию сна в теме:

Thread.sleep(millisec); 

Миллиска аргумент, сколько миллисекунд вы хотите спать f.ex :

1 sec = 1000 ms 
2 sec = 2000 ms 
and so on.. 

Так что ваш код будет выглядеть примерно так:

System.out.println("First print."); 
try { 
    Thread.sleep(2000); //2 secs 
catch (InterruptedException e) { 
    e.printStackTrace(); 
} 
System.out.println("This one comes after 2 seconds from the println."); 

(Попробовать-улов необходим, потому что иногда он будет бросать excpetion если SecurityManager Dont позволяют нить спать, но не волнуйтесь, тот никогда не будет ..)
-Макс

2

Вы должны использовать Thread#sleep :

Причины в настоящее время выполняющийся поток спать

Обратите внимание, что вы должны использовать try-catch блок вокруг вызова Thread.sleep(), потому что другой поток может прерывать main(), пока он спит. В этом случае нет необходимости ловить его, потому что активен только один поток, main().

try { 
    Thread.sleep(2000) 
catch (InterruptedException e) { 
    System.out.println("main() Thread was interrupted while sleeping."); 
}