Skip to main content

김시용

1. 📌 핵심 개념 정리

✅ 요약하기

각자 해당 챕터에서 중요하다고 느낀 개념이나 아이디어를 간략하게 정리하고 개선 전, 후에 대한 예시 코드를 비교하며 개념을 설명합니다.

  1. 동시성이 필요한 이유
    동시성은 결합을 없애는 전략이다. 즉, 무엇과 언제를 분리하는 전략이다.
    -> 애플리케이션 구조와 효율이 극적으로 나아진다. 작은 협력 프로그램 여럿으로 보인다.
    = 시스템을 이해하기 쉽고 문제를 분리하기도 쉽다.
    응답시간과 작업 처리량 개선으로 인해 동시성이 불가피한 상황도 있다.
    -> 대량의 정보를 병렬로 처리하여 동시성 활용

  1. 동시성의 어려움
    • 동시성은 때로 성능을 높여준다.
    • 동시성 구현시, 무엇과 언제를 분리하기에 시스템 구조가 크게 달라진다.
    • 웹 / EJB 컨테이너 사용해도 동시성 이해 필요.
    • 동시성은 다소 부하를 유발한다.
    • 동시성은 복잡하다.
    • 동시성 버그는 재현하기 어렵다.
    • 동시성 구현 위해서는 근본적인 설계 전략을 재고해야 한다.

동시성 구현이 어려운 이유
두 스레드가 같은 변수를 동시에 참조하면 원치 않는 결과가 발생한다.
코드를 컴파일러가 바이트 코드로 처리하면 경로가 수만~수백만 가지가 발생하므로 일부 경로만 문제를 발생시킴.


  1. 어려움에 대처하는 동시성 방어 원칙
    .

  1. 동시성 테스트 방법 (p.237~)

2. 🤔 이해가 어려운 부분

🔍 질문하기

책을 읽으며 이해하기 어려웠던 개념이나 명확하지 않았던 내용을 정리합니다.

  1. 개념 또는 원칙의 이름
    • 어려웠던 부분
      해당 개념이 헷갈리거나 명확하지 않았던 점을 구체적으로 설명합니다.
    • 궁금한 점
      해당 개념이 어떤 원리로 동작하는지, 실무에서 어떻게 활용되는지 등을 질문 형태로 정리합니다.

  1. 개념 또는 원칙의 이름
    • 어려웠던 부분
      .
    • 궁금한 점
      .

  1. 개념 또는 원칙의 이름
    • 어려웠던 부분
      .
    • 궁금한 점
      .

3. 📚 참고 사항

📢 논의하기

관련된 자료가 있다면 공유하고, 더 깊이 논의하고 싶은 아이디어나 의견을 정리합니다.

  1. 관련 자료 공유
    • 추가 자료
      관련 블로그 글이나 공식 문서 링크를 제공합니다.

  1. 논의하고 싶은 주제
    • 주제
      논의하고 싶은 내용을 간략히 정리합니다.
    • 설명
      논의하고 싶은 이유를 작성합니다.