# Thread Explosion

2개의 포스트
post-thumbnail

Swift Concurrency: Behind the scenes Part. 01

앞에서는 새롭게 나온 개념들을 어떻게 사용하는지에 대해서 알아보았다. 그렇다면 왜 이렇게 설계했는지, 실제로는 어떻게 동작하는지 알아보자. Threading Model New feed reader 앱을 만든다고 생각해보자. 고수준에서 어떠한 것들이 필요할지 생각해보자. User Interface를 처리할 main thread가 있다. User가 구독한 news feed를 추적할 Database도 있다. 마지막으로 feed로 부터 최신 content를 받아올 네트워크 처리단이 있다. Grand Central Dispatch User가 새로운 news feed를 가져오라는 gesture를 했다고 생각해보자. GCD를 사용했을 때는 다음과 같이 처리했었다. ![](htt

2022년 6월 29일
·
0개의 댓글
·

iOS) Deadlock, Thread Explosion, DispatchSemaphore

개요 운영체제에서 데드락(교착상태)란, 시스템의 여러 곳에서 자원을 사용하려고 할 때(다중 처리 환경), 프로세스가 자원을 얻지 못해 다음을 처리하지 못하는 상태(특정 자원을 무한정 기다리는 상태)이다. 발생원인 상호 배제 한 번에 프로세스 하나만 해당 자원을 사용할 수 있다. 점유와 대기 자원을 최소한 하나 보유하고, 다른 프로세스에 할당된 자원을 점유하기 위해 대기하는 프로세스가 존재해야 한다. 비선점 이미 할당된 자원을 강제로 빼앗을 수 없다 환형 대기 대기 프로세스의 집합이 순환 형태로 자원을 대기하고 있어야 한다. 해결 방법 예방 발생 가능성을 사전에 제거하도록 시스템 조절. 자원의 상호 배제 조건 방지: 여

2021년 7월 11일
·
0개의 댓글
·