일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- swift concurrency
- SwiftUI
- 위젯킷
- 영남대
- 네트워크
- 백준
- composable architecture
- 대외활동
- widget
- c++
- 알고리즘
- 리액트
- 컴퓨터그래픽스
- Swift
- 웹
- 운영체제
- widgetkit
- 1일1알골
- 문법
- cs
- 스위프트
- spritekit
- TCA
- 후기
- dispatchqueue
- 멋쟁이사자처럼
- 멋사
- Protocol
- uikit
- 스유
- Today
- Total
목록Concurrency (3)
맛동산이
병렬 프로그래밍(Parallel Programming) 병렬프로그래밍이란, 여러개의 cpu가 하나의 task를 나눠서 처리하는것을 의미한다. 즉 예를들어, 파스타를 하나 만든다면 4개의 cpu가 서로, 면삶기, 소스만들기, 접시준비하기, 노래틀기 와 같이 일을 나눠서 한다고 생각하면 된다. 병렬프로그래밍이란, 멀티코어를 활용한 방법이다. 동시성 프로그래밍(Concurrent Programming) 동시성프로그래밍이란, 하나의 cpu가 동시에 여러개의 작업을 하는것을 의미하며, 실제로는 빠른속도의 context switching을 통해서 여러개를 동시하는것처럼 보이는 시분할 작업방법을 의미한다. 동시성 프로그래밍은 기존의 순서대로 명령들이 실행되는 구조에서 벗어나 명령들이 불규칙한 순서대로 실행될 수 있게..
Async와 await을 사용하기1. 기존의 코드override func viewDidLoad() { super.viewDidLoad() self.getData { data in self.decode(data: data) { contents in print(contents) // "~~~~ } } } func getData(completion: (Data) -> Void) { let url = URL(string: "https://zeddios.tistory.com")! let data = try! Data(contentsOf: url) completion(data) } func decode(data: Data, completion: (String) -> Void) { let contents = Stri..
GCD란, iOS에서 멀티코어 프로세스에서 멀티스레딩을 지원하게 해주는 애플이 개발한 기술이다. GCD를 사용하기 위해서는 Dispatch라는 프레임워크를 사용하면 된다.Dispatch 프레임워크에는 DispatchQueue, DispatchWorkItem과같은 다양한 클래스가 존재한다.이를 통해서 Dispatch Queue 에 작업을 보내면 그에 따라 스레드를 적절히 생성해서 실행하고 작업이 종료되면 스레드를 GCD가 자동으로 제거한다. Serial, Concurrent serial은 단일 스레드 환경concurrent는 다중스레드 환경// Serial Queue DispatchQueue(label: "Serial") DispatchQueue.main // main은 전역적으로 사용되는 Serial D..