1장 : 개요

2023. 4. 15. 23:02스터디/자바 병렬 프로그래밍 스터디

728x90

스레드 : 경량 프로세스, CPI 자원 스케줄의 기본 단위

- 하나의 스레드는 다른 스레드와 상관 없이 비동기적으로 실행

- 한 프로세스 내 모든 스레드는 같은 변수에 접근하고 같은 힙에 객체 할당

- 스레드는 서로 같은 메모리 주소 공간을 공유하고 동시에 실행되기 때문에 다른 스레드가 사용중일지도 모르는 변수를 읽거나 수정할 수도 있다.

- 동기화를 충분히 해두지 않으면 여러 스레드에서 실행되는 연산의 순서가 예측할 수가 없음

 

# 원격 객체가 대비해야 하는 두 가지 위험 

1. 먼저 다른 객체와 공유될 수 있는 상태에 접근 시 적절히 조율해야하나, 원격 객체 자체의 상테에 접근할 때도 마찬가지,

2. RMI 객체도 동시에 여러 번 호출될 수 있게 작성해야 하며 스레드에 안전해야

 

- 동시 수행 코드를 개발할 때는 반드시 스레드 안전성 문제를 신경 써야

 

728x90