생각나는 부분 간단 요약
- 기본 원리 -> 스레드 안전성, 객체 공유, 객체 구성, 구성 단위
- 변경 가능한 값이 아닌 변수는 모두 final로 선언
- 변경 가능한 객체는 항상 락으로 막아줘야함 (+복잡한 연산)
- 설계 단계에 thread safe를 염두해 두어야함
- 동기화 정책은 문서화 해야함
- 장시간 실행될 작업은 이벤트 스레드가 아닌 백그라운드 스레드에서 실행해야함
- 정적으로 컴파일되는 C언어와 다르게 동적으로 컴팡리되는 자바 언어로 작성된 병렬 처리 프로그램은 성능 측정이 어려움 (실행 시간이 동적인 컴파일, 가비지 컬렉션, 최적화 방법 때문)
출처 : 멀티 코어를 100% 활용하는 자바 병렬 프로그래밍