Java Thread Sleep
개발을 하다보면 중간중간 잠깐 쉬어야 하는 경우가 발생합니다. 예를 들어, 많은 서버의 경우 시간당 요청할 수 있는 쿼리의 숫자를 제한하는 경우가 많이 있습니다. 무제한 제공을 할 경우 DDOS 공격에 취약해지고, 소수의 사용자가 엄청난 쿼리를 날리게 될 경우 서버가 다운 될 가능성이 있기 때문이지요.
따라서 Java를 이용해서 프로그래밍을 할 경우 중간중간 쉬었다 해야 할 경우가 있습니다. 이럴때 Thread Sleep을 이용하면 됩니다.
예제를 살펴보시면,
public static void main(String[] args)
{
try
{
for (int i = 1; i <= 60; i++)
{
System.out.println(i);
Thread.sleep(1000);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
{
try
{
for (int i = 1; i <= 60; i++)
{
System.out.println(i);
Thread.sleep(1000);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
위 소스코드를 실행해보면 1부터 60까지의 숫자를 초당 1씩 증가해서 보여주는 것을 볼 수 있습니다. 핵심은 Thread.sleep() 메소드 입니다. 이 메소드의 파라미터는 밀리세컨드로 얼마나 스레드가 슬립 상태로 있을 것인가 입니다. 1000밀리 세컨드는 1초이기 때문에 1초간 쉬었다가 보여주고, 1초간 쉬었다가 보여주는 식입니다.
위 예제를 적재적소에 응용하시기 바랍니다. ^^