동시성

동시성이 필요한 이유?

  • 동시성은 결합(coupling)을 없내는 전략
    • 무엇과 언제를 분리하는 전략
  • 무엇과 언제를 분리하면 애플리케이션 구조와 효율이 극적으로 나아짐
  • 구조적인 관점에서 프로그램은 거대한 루프가 하나가 아니라 작은 협력으로 나누어짐
  • Servlet

난관

동시성 방어 원칙

단일 책임 원칙(Single Resposivility Principle, SRP)

  • 자료 범위를 제한하라
  • 자료 사본을 사용하라
  • 스레드는 가능한 독립적으로 구현하라

라이브러리를 이해하라

실행 모델을 이해하라

동기화하는 메서드 사이에 존재하는 의존성을 이해하라

동기화하는 부분을 작게 만들어라

올바른 종료코드는 구현하기 어렵다

스레드 코드 테스트하기

References