본문 바로가기

Study/신입 자라기

[Study] 신입 자라기 - 83

신입 자라기 83일 차, 금요일

Daily Routine

시간 Routine
8 : 30  기상
9 : 00 ~ 10 : 00 출근 시간
10 : 00 ~ 11 : 30  1. 기능 테스트
11 : 30 ~ 12 : 30  점심 시간
12 : 30 ~ 18 : 00 1. 기능 테스트
18 : 00 ~ 20 : 00 퇴근 및 휴식
20 : 00 ~ 24 : 00 1. 블로그 포스팅
2. 수학 

출근길에 보는 CS

스레드 세이프한 프로그래밍
  • 다중 스레드가 특정 객체나 변수 등에 동시에 접근해도 프로그램의 실행이 보장되는 것
스레드 세이프한 프로그래밍에 필요한 조건

1. 재진 입성의 보장(Re-entrancy)

특정 값(객체, 함수 등)이 호출되어 실행 중일지라도, 다른 스레드가 같은 값을 호출해도 결과가 올바르게 반환되어야 함

 

2. 스레드 별 지역 변수 사용(Thread-local storage)

각 스레드에서만 공유자원에 접근할 수 있게 설정하여,  공유자원에 대한 동시 접근을 방지

 

3. 상호 배제(Mutal Exclusion)

공유 자원을 사용할 경우에는 세마포어 같은 락을 사용해서 해당 자원의 접근을 통제

 

4. 중단되지 않는 연산(Atomic Operations)

공유 자원에 접근 시 원자적으로 정의된 접근 방법을 사용하여 상호 배제를 구현

 

'Study > 신입 자라기' 카테고리의 다른 글

[Study]신입 자라기 - 85  (0) 2022.06.15
[Study] 신입 자라기 - 84  (0) 2022.06.14
[Study] 신입 자라기 - 82  (0) 2022.06.10
[Study] 신입 자라기 - 81  (0) 2022.06.09
[Study] 신입 자라기 - 80  (0) 2022.06.08