728x90
Thread Safe 정의
- 멀티스레드 환경에서 여러 스레드가 동시에 하나의 객체 및 변수(공유 자원)에 접근할 때, 의도한 대로 동작하는 것
Thread Safe 방법
- Thread Safe하기 위해서는 공유 자원에 접근하는 임계영역(critical section)을 동기화 기법으로 제어
- 동기화 기법으로는 Mutex나 Semaphore 등이 있음
Reentrant
- 재진입성이라는 의미로, 어떤 함수가 Reentrant하다는 것은 여러 스레드가 동시에 접근해도 언제나 같은 실행 결과를 보장한다는 의미
- 만족하기 위해서 해당 서브루틴에서는 공유자원을 사용하지 않으면 됨 (정적(전역) 변수를 사용하거나 반환하면 안 되고 호출 시 제공된 매개변수만으로 동작해야함)
'OS' 카테고리의 다른 글
[OS] 동기화 객체의 종류 (0) | 2021.11.07 |
---|---|
[OS] 멀티프로세스 대신 멀티쓰레드 사용이유 (0) | 2021.11.06 |
[OS] 데드락 (0) | 2021.11.06 |
[OS] Thread (쓰레드) (0) | 2021.10.03 |
[OS] Process (프로세스) (0) | 2021.07.11 |