programming-study
programming-study copied to clipboard
[book] 자바 병렬 프로그래밍
http://m.yes24.com/Goods/Detail/3015162
1장
여러 개의 스레드를 사용하면 프로세서가 하나라 해도 처리 속도를 높일 수 있다. 프로그램이 스레드 하나로 구성되면 동기 I/O 작업이 완료될 때 까지 기다리는 동안 프로세서가 놀게 된다.
하나의 프로세서를 이용하더라도 멀티 스레드가 가능하다곤 알고 있었는데.. 책으로나마 다시 상시시키게 되는 문장이다.
2장
경쟁 조건(race-condition) vs 데이터 경쟁(data-race)
경쟁 조건(race-condition) 공유 자원에 대해 여러 개의 프로세스가 동시에 접근을 시도할 때 접근의 타이밍이나 순서 등이 결과값에 영향을 줄 수 있는 상태 https://ko.wikipedia.org/wiki/%EA%B2%BD%EC%9F%81_%EC%83%81%ED%83%9C 데이터 경쟁(data-race) 데이터 경쟁의 정확한 정의는 사용되는 형식적 동시성 모델에 따라 다르지만 일반적으로 한 스레드의 메모리 작업이 잠재적으로 다른 스레드의 메모리 작업과 동시에 메모리 위치에 액세스를 시도할 수 있는 상황을 나타냅니다. 위험한 상황에서 해당 메모리 위치에 쓰는 것입니다. https://en.wikipedia.org/wiki/Race_condition#Data_race
암묵적인 락(synchronized
) > 재진입성
- 자기가 이미 획득한 락을 다시 확보할 수 있다. (셀프 데드락 위험 X)