GCD에 대해 (Thread-Safe)

앞서 멀티스레드 환경에서 동시성을 사용한다면 '공유자원' 적인 측면에서 문제가 생겨 경쟁상황이 발생할 수 있다고 언급했다. 여러 스레드가 동시에 쓰여도 한번에 한개의 스레드만 접근하도록 처리하여 안전하도록, 세마포어를 사용해서 문제를 해결했다 (DispatchSemap

2021년 10월 25일
·
0개의 댓글

GCD에 대해(DispatchWorkItem, DispatchSemaphore)

Dispatch workItem GCD에 대해서 마지막으로 알아볼 것은 DispatchWorkItem이다. 멀티스레드에 작업 자체를 클레스, 객체화해서 사용할 수 있는 방법이다. 우선 코드를 살펴보자! 이처럼 원하는 DispatchQueue에 원하는 작업을 객체화

2021년 10월 15일
·
0개의 댓글

GCD에 대해 (DispatchGroup)

왜 DispatchGroup을 이용할까? GCD를 사용하게 되면 여러 스레드로 분산처리되어 작업을 처리하는 비동기 프로그래밍을 적용할 것이다. 이때 우리는 모든 작업이 다 끝난 시점이 필요하기 때문에 Dispatch Group을 사용한다. 예를 들어 앱의 첫 화면의

2021년 9월 29일
·
0개의 댓글

GCD에 대해 (종류, 특성)

앞서 공부했던 비동기(Async), 동기(Sync), 직렬(Serial), 병행(Concurrency)를 iOS 개발에서는 어떻게 사용할까? 바로 GCD를 통해 큐에 스레드 분배하며 이러한 개념을 적용한다. 보통 메소드 위주의 작업에 이용되고 큐를 이용하여 스레드를

2021년 9월 27일
·
0개의 댓글