모든 객체의 공통 메서드.

동시성

아이템 78. 공유 중인 가변 데이터는 동기화해 사용하라

아이템 79. 과도한 동기화는 피하라

아이템 80. 스레드보다는 실행자, 태스크, 스트림을 애용하라

// 실행자 생성
ExecutorService exec = Executors.newSingleThreadExecutor();

// 실행자에게 태스크를 넘김
exec.execute(runnable);

// 실행자를 우아하게 종료시키는 방법
exec.shutdown();

아이템 81. wait와 notify보다는 동시성 유틸리티를 애용하라

아이템 82. 스레드 안전성 수준을 문서화하라

아이템 83. 지연 초기화는 신중히 사용하라

private static class FieldHolder {
    static final FieldType field = computerFieldValue();
}

// getField 호출시 field가 초기화됨
private static FieldType getField() { return FieldHolder.field; }

아이템 84. 프로그램의 동작을 스레드 스케줄러에 기대지 말라