안녕하세요 Ick입니다! 오늘은 iOS에서 앱을 개발할 때 여러 개의 작업을 동시에 수행할 수 있도록 해주는 동시성 프로그래밍에 대해 알아보려고 합니다. 동시성 프로그램의 이론적인 내용은 여기를 참고해주세요! 이번 글에서는 동시성 프로그래밍을 직접 구현해보는 것만 해보려고 합니다! iOS에서 동시성 프로그래밍을 구현하기 위해서 Apple에서는 GCD라는 것을 만들어뒀습니다. 이는 직접 스레드를 만들어서 작업을 수행하는 것이 어렵고 문제를 발생할 수 도 있기 때문에, 시스템에서 자동으로 수행해주도록 해 준 것이라고 볼 수 있습니다! 저희는 이렇게 만들어진 GCD를 사용해서 동시성 프로그래밍을 할 수 있습니다! 그럼 사용해보기 전에 반드시 알아야 할 용어들만 간단하게 짚고 넘어가도록 하겠습니다. 동기(Syn..
안녕하세요 Ick입니다! 이번 글에서는 iOS에서 동시성 프로그래밍에 사용되는 Dispatch Queue에 대해 알아보려고 합니다. 실제로 사용하는 방법은 여기를 참고해주세요! 참고한 문서는 언제나 그렇듯 공식문서입니다. Apple Developer Document - Dispatch Queue Dispatch Queues Grand Central Dispatch(GCD) 디스패치 큐는 작업 수행을 위한 강력한 도구이다. 디스패치 큐를 사용하면 호출자에 대해 비동기적 또는 동기적으로 코드 블록을 실행할 수 있다. 디스패치 큐를 사용하면 별도의 스레드에서 사용한 모든 작업을 수행할 수 있다. 디스패치 큐는 사용하기 쉬우며 스레드 코드보다 작업을 실행하는데 훨씬 효율적이라는 장점이 있다. 이번 글에서는 디스..
이번 글은 Apple에서 과거에 올린 글이기 때문에 Objective-C로 코드가 구성되어있는데 Swift로 구현하는 방법은 여기를 참고해주세요!. Apple Developer Document - Operation Queues Operation Queues Cocoa Operation은 비동기적으로 실행하려는 작업을 객체 지향 방식으로 캡슐화한다. 작업들은 operation queue와 함께 실행되거나 자체적으로 실행되도록 설계된다. OS X, iOS의 Cocoa 기반 프로그램들에서 일반적으로 사용되는 작업들은 Objective-C 기반이다. 이번 글에서는 Operation을 정의하고 사용하는 방법에 대해 알아보자 About Operation Object 작업 객체는 NSOperation 클래스의 인스턴..
공식문서 Apple Developer Document - Operation Operation 단일 task(작업)과 관련된 코드 및 데이터를 나타내는 추상 클래스 Declaration class Operation: NSObject Overview Operation 클래스가 추상 클래스이기 때문에 직접적으로 사용하는 것이 아닌 서브 클래스나 시스템 정의 서브클래스(NSInvocationOperation, BlockOperation) 중 하나를 사용하여 사용 가능하다. 추상 클래스이지만 Operation의 기본 구현에는 작업의 안전한 실행을 조정하는 중요한 논리가 포함된다. 이러한 built-in logic이 있기 때문에 시스템 객체와 올바르게 작동하는데 필요한 glue code보다 실제 작업 구현에 집중할..
공식 문서 Apple Developer Document - OperationQueue OperationQueue OperationQueue(작업 대기열)는 작업 실행을 관리하는 큐이다. Foundation프레임워크의 Task Management기능 중 하나이다. Declation class OperationQueue: NSObject OverView Operating Queue는 우선 순위와 준비상태에 따라 대기 중인 Operation(작업)을 실행한다. Operating Queue에 작업이 추가된 후엔 작업이 끝났다고 보고될 때까지 Operating Queue에 작업이 남아있게 된다. Operating Queue에 추가된 작업을 직접적으로 제거할 순 없다. 하나의 작업은 끝날 때까지 Operating ..
- Total
- Today
- Yesterday
- OS
- 문법
- dfs
- Xcode
- operator
- 아이폰
- pattern
- DP
- BFS
- 백준
- IOS
- Apple
- 알고리즘
- 자료구조
- Combine
- Swift
- mac
- System
- 코딩테스트
- 앱개발
- design
- OSTEP
- document
- 동시성
- Publisher
- 프로그래밍
- 코테
- 테이블뷰
- operating
- 스위프트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |