Clean Code that Works.

1. 변경가능한 공유 데이터에 접근할 때 동기화하라

2. 지나친 동기화는 피하라

3. wait 메소드는 반복문 안에서만 호출하라

4. 스레드 스케줄러에 의존하지 마라

5. 스레드 안정성을 문서화 하라

6. 스레드 그룹을 쓰지 마라