OS

[OS] Thread Safe

집한구석 2021. 11. 6. 16:23
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