일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 100 days of SwiftUI
- IOS
- 데드락
- COLOR
- Apple Developer Academy
- 동시성
- async
- forEach
- core data
- struct
- 오브젝트
- SwiftUI
- UserDefaults
- 인프런
- 운영체제
- 비동기
- 상호배제
- @state
- Algorithm
- scrollview
- Linked List
- Swift
- 가상 메모리
- 알고리즘
- Codable
- 동기화
- decode
- 앨런
- deadlock
- 프로세스 스케줄링
Archives
- Today
- Total
목록인프런 (6)
기어가더라도 제대로
10. Semaphore 의 이해
직역하면, 수기 신호 공유 리소스에 접근 가능한 작업 수를 제한해야할 경우 `.wait()` 은 일단 기다려 `.signal()` 은 다음 기다리는 작업을 배치 - 실행 운영체제에서 Semaphore 를 공부할 때 "수기 신호" 라는 것을 알았더라면.. 임계 지역에서 실행되는 작업의 수를 제한하는 개념이라니 .. 신기하군.
CS/동시성
2022. 9. 26. 21:07
9. Dispatch workItem
작업을 미리 정의해 놓고 사용하는, 큐에 제출하기 위한 객체 빈약한 을 내장 빈약한 을 내장 순서 기능도 사용할 수 있는데, `item1.notify(queue: mainQueue, excute: item2)` 이런 식으로 사용을 한다. 근데 굳이.. Class 화 하는 패널티를 감수하면서 순서를 지킬 필요가 있나 싶다.
CS/동시성
2022. 9. 26. 21:07
8. 디스패치 그룹의 사용
그룹을 생성해주었는데, 해당 그룹에서 실행되는 작업들이 비동기적으로 실행되는 경우에 어떻게 해결이 되는지 확인해보자. 지금까지는 동기적인 작업을 설정해주었음 비동기 함수를 호출할 땐 **주의**해야함! 비동기 작업을 포함한 Task 의 경우, 실제 비동기 작업은 시작과 동시에 리턴되고, 실제 작업 종료시점이 아니라 임의의 시점에 작업이 완료되었다고 보고될 수 있음 즉, 제대로 일이 끝난 시점이 아니라는 뜻임. 시작점과 종료점을 명시적으로 선언 해줘야함. 입장과 퇴장의 짝이 맞으니 해결 실제 코드로 짜보는 것이 좋겠다.
CS/동시성
2022. 9. 26. 21:06