13장 동시성
<aside>
💡 동시성과 깔끔한 코드는 양립하기 어렵다
</aside>
동시성이 필요한 이유?
- 동시성은 결합(coupling)을 없내는 전략이다.
→ 즉, ‘무엇’과 ‘언제’를 분리하는 전략
- 무엇과 언제를 분리하면 애플리케이션 구조와 효율이 나아진다
- 서블릿 모델은 웹 아래에서 돌아가는데, 동시성을 부분적으로 관리한다
- 원칙적으로는 서블릿 스레드는 다른 서블릿 스레드와 무관하게 돌아가지만, 실제는 거리가 멀다
동시성과 관련된 타당한 생각
- 동시성은 다소 부하를 유발한다
- 동시성은 복잡하다
- 동시성 버그를 재현하기 어렵다 → 일회성 문제로 여겨진다
- 동시성을 해결하려면 근본적인 설계 전략을 재고한다