스터디 끝나고 일주일이 지났다.

 

오늘은 14장을 진행하는 날인데 아무도 준비하지 않았다 ㅋㅋㅋㅋ

 

그래서 저번에 올리지 못한 13장을 올릴꺼다.

 

이번 내용은 같은 팀원의 요약을 가져왔찌만 이해는 못했따.

 


동시성과 깔끔한 코드는 양립하기 어렵다.

 

동시성이 필요한 이유

구조와 효율을 개선하기 위해

응답 시간과 작업 처리량을 개선하기 위해

 

무엇과 언제를 분리하게 되면 시스템 구조가 크게 달라진다.

하지만 동시성이 성능을 항상 개선하는 것도 아니고, 부하를 유발하고 복잡하고 버그도 재현하기 어렵다.

 

동시성 코드로 인해 발생할 수 있는 문제로부터 시스템 방어하는 방법

단일 책임 원칙

동시성 코드는 다른 코드와 분리하라.

 

임계영역의 수를 줄인다 

보호할 임계영역은 synchronized 키워드로 보호하라고 권장하는데, 이런 임계영역의 수가 많으면 이들 각각에 대해 올바르게 보호했는지 확인하는 작업을 반복해야 한다고 한다..? (즉, DRY 원칙 위반) -> "자료를 캡슐화하고, 공유 자료를 최대한 줄여라."

객체 복사해서 사용하기

스레드는 독립적으로 구현하기