일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 숭실대
- react
- global soop
- 애플 디벨로퍼 아카데미 후기
- apple developer academy 후기
- ObservableObject
- 제앱소
- Swift 디자인패턴
- 소프트웨어분석및설계
- 운영체제
- StateObject
- Swift 문법
- 네이버 부스트캠프
- 데이터베이스
- iOS 개발 오류
- OS
- 앱 비교 프로젝트
- 애플 디벨로퍼 아카데미
- 데이터베이스 공부
- Apple Developer Academy @ POSTECH
- 네이버 치지직
- SWIFT
- swift문법
- 치지직
- Swift 기능
- 애플 아카데미 후기
- sqoop
- 애플 디벨로퍼 아카데미 21주차 회고
- useReducer
- ObservedObject
- Today
- Total
목록동기화 (2)
사과하는 제라스
동기화의 고전적인 문제 Big 3 1. Bounded-Buffer Problem 2. Readers and Writers Problem 3. Dining Philosophers Problem Bounded-Buffer Problem : N개의 Item을 삽입할 수 있는 Buffer가 있음. 여기에 여러 생산자와 소비자들이 접근함. - 생산자: 하나의 Item을 생산해서 Buffer에 넣는 사람. -> Buffer 배열 중 같은 index에 접근해서 Item을 넣을 시 Race Condition이 발생할 수 있음. - 소비자: Buffer에서 하나의 Item을 가져오는 사람. -> Buffer에서 가져오는 Item을 소비하고 비워주는데 Buffer의 상태가 Empty면 대기함. 근데 이런 거에 많이들 대기..
Race Condition : 공유 데이터에 대해 여러 프로세스가 동시 접근 및 변경을 시도하는 상황 -> 이러한 동시 접근 및 변경은 데이터의 일관성(Consistency)을 해침. Race Condition 예시 은행의 입출금 문제 : 1000원의 잔고가 있는데, 여기에 500원 입금, 500원 출금이 동시에 일어남. 결과는? 이 소스코드들은 컴파일러에 의해 분해되기에 레지스터 수준에서 봐야함. Critical Section : 여러 프로세스들이 공유하는 데이터에 접근하는 Code 영역 ex. 위 입출금 문제 예제에서는 Balance = Balance + 500; , Balance = Balance - 500; Race Condition을 방지하기 위해!!! 한번에 단 하나만의 프로세스가 Critic..