![](https://blog.kakaocdn.net/dn/btByQ6/btq8s6xQFAi/hpLoFkOmB4Wm3xquU5bZjK/img.jpg)
위 화면에서 스크롤 할때 화면이 왜 버벅일까?
아이폰 화면은 16밀리 세컨에 한번씩 갱신된다. 하나의 셀을 구성하기 위해서 여러 작업들이 일어나는데 그 작업들의 처리량이 많기 때문이다. 즉 일이 많다.
![](https://blog.kakaocdn.net/dn/ROmle/btq8qIE0Kig/kNPcx5Lu0LdFQ8Y6SS2KN1/img.jpg)
xcode에서 보면 스레드 하나만 작동되는것을 볼수 있다.
![](https://blog.kakaocdn.net/dn/eCCPqs/btq8qISr39u/BMogML5OAK3fPYlmdxgtKK/img.jpg)
하나의 셀에서 많은 양을 처리하는 과정이다
![](https://blog.kakaocdn.net/dn/bAo9qK/btq8s65GF6a/qu7xWZkuaC0QUEMJ3aoMa0/img.jpg)
실생활예시로 여러개의 복사기가 있는데 하나의 복사기만 사용하는것과 같다.
![](https://blog.kakaocdn.net/dn/bbMLg4/btq8pjFDJO4/tXbTLhtaFXkxKp8pHvzOkk/img.jpg)
그럼 어떻게 많은 양의 작업을 동시에 처리해서 안 버벅이게 할수 있을까?
![](https://blog.kakaocdn.net/dn/b0I8dw/btq8qJjyU9O/jXBp21UQtKQkXPMsIDjHk0/img.jpg)
대기열에 작업을 넣어주기만 하면 된다. 즉 큐에 디스치 해주면된다.
![](https://blog.kakaocdn.net/dn/Sm1nU/btq8rfClhjU/6ATEvvF67OZZTyXxBtoWh1/img.jpg)
그럼 시스템이 알아서 큐에서 작업을 빼서 스레드에 할당해준다.
![](https://blog.kakaocdn.net/dn/ofWRQ/btq8pOSYc06/4FQbuC40nNxEXS8zXwiNB1/img.jpg)
우리가 할일은 작업을 큐로 보내는것!
GCD 와 OPERATION
![](https://blog.kakaocdn.net/dn/dg8JDM/btq8qIZfsYo/0Uy8GDQ0iesMHeq5sioik1/img.jpg)
어떻게 코드로 구현 할까?
![](https://blog.kakaocdn.net/dn/D9yRw/btq8ok5TagC/vIKyxsRFoMcYues9Xy5qb0/img.jpg)
코드 구현 2
![](https://blog.kakaocdn.net/dn/bJvGcF/btq8rTseXHz/uuyhfPZDjgHmR06rCfY7d1/img.jpg)
한 작업 단위란 클로저 안에서의 작업은 순차적으로 이루어 진다는의미다.
![](https://blog.kakaocdn.net/dn/pGomJ/btq8rSfM8lv/6ZXZ8xO0T138h3tiwVR2W0/img.jpg)
코드 예시
![](https://blog.kakaocdn.net/dn/bXoDlj/btq8qI506gQ/9Ky1EsEd44W7gW6774pxcK/img.jpg)
둘의 차이?
![](https://blog.kakaocdn.net/dn/nQtHX/btq8q1dd6dv/AuRzpjod101ukjsTlqr5zk/img.jpg)
![](https://blog.kakaocdn.net/dn/LZ1Oq/btq8okSmaau/rxm5RkcBkcXG0KcsFixyg1/img.jpg)
![](https://blog.kakaocdn.net/dn/bc2Yjw/btq8rTFLkaj/cHgOMsO0qOGWwKjy2GOz3k/img.jpg)
'아이폰 개발 > ios 개념&튜토리얼' 카테고리의 다른 글
swift 디스패치큐의 종류 특성 (0) | 2021.07.01 |
---|---|
swift 직렬과 동시 & 동기와 비동기 개념 (0) | 2021.07.01 |
iOS NSStream 이용한 채팅앱 예제 (1) | 2021.03.17 |
iOS UIBezierPath 예제 - 그림 그리기 (0) | 2021.02.22 |
CGContextRef 예제 - 그림 그리기 (0) | 2021.02.22 |