JavaTM Platform
Standard Ed. 6

java.util.concurrent
열거형 TimeUnit

java.lang.Object 
  상위를 확장 java.lang.Enum <TimeUnit >
      상위를 확장 java.util.concurrent.TimeUnit
모든 구현된 인터페이스:
Serializable , Comparable <TimeUnit >


public enum TimeUnit
extends Enum <TimeUnit >

TimeUnit 는, 지정된 입도 단위로 시간을 나타내, 단위를 변환하거나 그러한 단위로 타이밍 및 지연 조작을 실행하거나 하는 유틸리티 메소드를 제공합니다. TimeUnit 는, 시간 정보를 보관 유지하지 않고, 다양한 문맥간에 독립해 보관 유지되는 시간표현의 정리 및 사용만을 실시할 수가 있습니다. 나노초는 마이크로 세컨드의 1000 분의 1, 마이크로 세컨드는 밀리 세컨드의 1000 분의 1, 밀리 세컨드는 초의 1000 분의 1, 분은 60 초, 때는 60 분 , 날은 24 시간으로서 각각 정의됩니다.

TimeUnit 는, 주로 시간 베이스의 메소드에 대해서, 지정된 타이밍 파라미터의 해석 방법을 지시하기 위해서 사용합니다. 예를 들어 다음의 코드는, 을 이용할 수 없는 경우, 50 밀리 세컨드로 타임 아웃 합니다.

  Lock lock = ...;
  if ( lock.tryLock(50L, TimeUnit.MILLISECONDS) ) ...
 
한편, 다음의 코드는, 50 초에 타임 아웃 합니다.
  Lock lock = ...;
  if ( lock.tryLock(50L, TimeUnit.SECONDS) ) ...
 
다만, 특정의 타임 아웃 구현으로, 지정된 TimeUnit 와 같은 입도로 시간 경과를 통지할 수 있는 보증은 없습니다.

도입된 버젼:
1.5

열거형 정수의 개요
DAYS
           
HOURS
           
MICROSECONDS
           
MILLISECONDS
           
MINUTES
           
NANOSECONDS
           
SECONDS
           
 
메소드의 개요
 long convert (long sourceDuration, TimeUnit  sourceUnit)
          지정된 단위에 의한 지정된 시간을, 이 단위로 변환합니다.
 void sleep (long timeout)
          이 단위를 사용해 Thread.sleep 를 실행합니다.
 void timedJoin (Thread  thread, long timeout)
          이 시간 단위를 사용해, 시간 지정된 Thread.join 를 실행합니다.
 void timedWait (Object  obj, long timeout)
          이 시간 단위를 사용해, 시간 지정된 Object.wait 를 실행합니다.
 long toDays (long duration)
          DAYS.convert(duration, this) 와 동등합니다.
 long toHours (long duration)
          HOURS.convert(duration, this) 와 동등합니다.
 long toMicros (long duration)
          MICROSECONDS.convert(duration, this) 와 동등합니다.
 long toMillis (long duration)
          MILLISECONDS.convert(duration, this) 와 동등합니다.
 long toMinutes (long duration)
          MINUTES.convert(duration, this) 와 동등합니다.
 long toNanos (long duration)
          NANOSECONDS.convert(duration, this) 와 동등합니다.
 long toSeconds (long duration)
          SECONDS.convert(duration, this) 와 동등합니다.
static TimeUnit valueOf (String  name)
          지정한 이름을 가지는 이 형태의 열거형 정수를 돌려줍니다.
static TimeUnit [] values ()
          이 열거형의 정수를 포함한 배열이 선언되고 있는 순서로 돌려줍니다.
 
클래스 java.lang. Enum 로부터 상속된 메소드
clone , compareTo , equals , finalize , getDeclaringClass , hashCode , name , ordinal , toString , valueOf
 
클래스 java.lang. Object 로부터 상속된 메소드
getClass , notify , notifyAll , wait , wait , wait
 

열거형 정수의 상세

NANOSECONDS

public static final TimeUnit  NANOSECONDS

MICROSECONDS

public static final TimeUnit  MICROSECONDS

MILLISECONDS

public static final TimeUnit  MILLISECONDS

SECONDS

public static final TimeUnit  SECONDS

MINUTES

public static final TimeUnit  MINUTES

HOURS

public static final TimeUnit  HOURS

DAYS

public static final TimeUnit  DAYS
메소드의 상세

values

public static TimeUnit [] values()
이 열거형의 정수를 포함한 배열이 선언되고 있는 순서로 돌려줍니다. 이 메소드는 다음과 같이 해 정수를 반복하기 위해서 사용할 수 있습니다:
for (TimeUnit c : TimeUnit.values())
    System.out.println(c);

반환값:
이 열거형의 정수가 선언되고 있는 순서로 포함한 배열

valueOf

public static TimeUnit  valueOf(String  name)
지정한 이름을 가지는 이 형태의 열거형 정수를 돌려줍니다. 캐릭터 라인은, 이 형태의 열거형 정수를 선언하는데 사용한 식별자와 엄밀하게 일치하고 있을 필요가 있습니다 (여분의 공백 문자를 포함할 수 없습니다).

파라미터:
name - 반환되는 열거형 정수의 이름
반환값:
지정된 이름을 가지는 열거형 정수
예외:
IllegalArgumentException - 지정된 이름을 가지는 정수를 이 열거형이 가지고 있지 않은 경우
NullPointerException - 인수가 null 의 경우

convert

public long convert(long sourceDuration,
                    TimeUnit  sourceUnit)
지정된 단위에 의한 지정된 시간을, 이 단위로 변환합니다. 입도의 세세한 편으로부터 엉성한 편에의 변환에서는 절약하고가 발생하기 위해(때문에), 정밀도가 없어집니다. 예를 들어 999 밀리 세컨드를 초로 변환하면(자) 0 이 됩니다. 입도의 엉성한 편으로부터 세세한 편에의 변환으로, 수치적으로 오버플로우가 발생하는 인수를 지정하면(자), 부의 경우는 Long.MIN_VALUE, 정의 경우는 Long.MAX_VALUE 가 됩니다.

예를 들어 10 분을 밀리 세컨드 단위로 변환하려면 ,TimeUnit.MILLISECONDS.convert(10L, TimeUnit.MINUTES) 를 사용합니다.

파라미터:
sourceDuration - 지정된 sourceUnit 에서의 시간
sourceUnit - sourceDuration 인수의 단위
반환값:
이 단위로 변환된 시간. 변환이 부에 오버플로우 하는 경우는 Long.MIN_VALUE, 정말로 오버플로우 하는 경우는 Long.MAX_VALUE

toNanos

public long toNanos(long duration)
NANOSECONDS.convert(duration, this) 와 동등합니다.

파라미터:
duration - 시간
반환값:
변환된 시간. 변환이 부에 오버플로우 하는 경우는 Long.MIN_VALUE, 정말로 오버플로우 하는 경우는 Long.MAX_VALUE
관련 항목:
convert(long, java.util.concurrent.TimeUnit)

toMicros

public long toMicros(long duration)
MICROSECONDS.convert(duration, this) 와 동등합니다.

파라미터:
duration - 시간
반환값:
변환된 시간. 변환이 부에 오버플로우 하는 경우는 Long.MIN_VALUE, 정말로 오버플로우 하는 경우는 Long.MAX_VALUE
관련 항목:
convert(long, java.util.concurrent.TimeUnit)

toMillis

public long toMillis(long duration)
MILLISECONDS.convert(duration, this) 와 동등합니다.

파라미터:
duration - 시간
반환값:
변환된 시간. 변환이 부에 오버플로우 하는 경우는 Long.MIN_VALUE, 정말로 오버플로우 하는 경우는 Long.MAX_VALUE
관련 항목:
convert(long, java.util.concurrent.TimeUnit)

toSeconds

public long toSeconds(long duration)
SECONDS.convert(duration, this) 와 동등합니다.

파라미터:
duration - 시간
반환값:
변환된 시간. 변환이 부에 오버플로우 하는 경우는 Long.MIN_VALUE, 정말로 오버플로우 하는 경우는 Long.MAX_VALUE
관련 항목:
convert(long, java.util.concurrent.TimeUnit)

toMinutes

public long toMinutes(long duration)
MINUTES.convert(duration, this) 와 동등합니다.

파라미터:
duration - 시간
반환값:
변환된 시간. 변환이 부에 오버플로우 하는 경우는 Long.MIN_VALUE, 정말로 오버플로우 하는 경우는 Long.MAX_VALUE
도입된 버젼:
1.6
관련 항목:
convert(long, java.util.concurrent.TimeUnit)

toHours

public long toHours(long duration)
HOURS.convert(duration, this) 와 동등합니다.

파라미터:
duration - 시간
반환값:
변환된 시간. 변환이 부에 오버플로우 하는 경우는 Long.MIN_VALUE, 정말로 오버플로우 하는 경우는 Long.MAX_VALUE
도입된 버젼:
1.6
관련 항목:
convert(long, java.util.concurrent.TimeUnit)

toDays

public long toDays(long duration)
DAYS.convert(duration, this) 와 동등합니다.

파라미터:
duration - 시간
반환값:
변환된 시간
도입된 버젼:
1.6
관련 항목:
convert(long, java.util.concurrent.TimeUnit)

timedWait

public void timedWait(Object  obj,
                      long timeout)
               throws InterruptedException 
이 시간 단위를 사용해, 시간 지정된 Object.wait 를 실행합니다. 이 메소드는, timeout 인수를 Object.wait 메소드로 요구되는 형식으로 변환하는 편리한 메소드입니다.

예를 들어 다음과 같이 해, 블록 하는 poll 메소드를 구현할 수 있습니다 (BlockingQueue.poll 를 참조).

  public synchronized Object poll(long timeout, TimeUnit unit) throws InterruptedException {
    while (empty) {
      unit.timedWait(this, timeout);
      ...
    }
  }

파라미터:
obj - 대기하는 객체
timeout - 대기하는 최장 시간. 제로 또는 그것보다 작은 경우는 대기하지 않는다
예외:
InterruptedException - 대기중에 인터럽트가 발생했을 경우
관련 항목:
Object.wait(long, int)

timedJoin

public void timedJoin(Thread  thread,
                      long timeout)
               throws InterruptedException 
이 시간 단위를 사용해, 시간 지정된 Thread.join 를 실행합니다. 이 메소드는, time 인수를 Thread.join 메소드로 요구되는 형식으로 변환하는 편리한 메소드입니다.

파라미터:
thread - 대기하는 thread
timeout - 대기하는 최장 시간. 제로 또는 그것보다 작은 경우는 대기하지 않는다
예외:
InterruptedException - 대기중에 인터럽트가 발생했을 경우
관련 항목:
Thread.join(long, int)

sleep

public void sleep(long timeout)
           throws InterruptedException 
이 단위를 사용해 Thread.sleep 를 실행합니다. 이 메소드는 time 인수를 Thread.sleep 메소드로 요구되는 형식으로 변환하는 편리한 메소드입니다.

파라미터:
timeout - sleeve 하는 최소 시간. 제로 또는 그것보다 작은 경우는 sleeve 하지 않는다
예외:
InterruptedException - sleeve중에 인터럽트가 발생했을 경우
관련 항목:
Thread.sleep(long)

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.