TIL - 2021.04.28 (Wed)

Youngwoo Lee·2021년 5월 9일
0

TIL

목록 보기
22/29
post-thumbnail

오늘 공부한 주제

  • GCD(Grand Central Dispatch) / OperationQueue

Concurrency(동시성) 프로그래밍 by Allen의 자료 읽고 모르는 것 정리하기
참고) iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고 GCD/Operation - 디스패치큐와 오퍼레이션큐의 이해 - 인프런 | 강의


Operation Queue와 DispatchQueue의 차이점

Dispatch Queue(GCD)

  • 간단한 작업
  • 간단한 함수(메서드) 위주의 작업

OperationQueue

  • 내부가 GCD기반으로 구현되어 있음

  • 작업을 객체화

  • GCD에서 사용할 수 있는 것 외에 여러가지 추가적 기능

    1) 취소기능

    2) 순서지정

    3) 일시중지 / 상태추적

고민하는 점

BankManager 프로젝트에서 현재 구현한 코드에서는 하나의 스레드를 한 명의 은행원으로 볼 수 있다!! 하지만, 은행원마다 창구 번호를 부여하라는 요구사항을 만족시키지는 못한다.

그렇게 하려면 은행원 한 명을 OperationQueue 한 개로 봐야한다!

고민 사항

  • 가운데 큐에서 첫 번째 큐의 고객들을 정렬하는 작업을 OperationQueue로 하지 않고 수행할 수 있다면 쉽게 할 수 있을 것 같다.
  • OperationQueue를 고려하지 않고 한 명의 은행원을 스레드 한 개로 보면 편리하다. 스레드에 값을 줄 수 있는 방법을 찾아 볼 수도 있다


notion 팀 게시판에 작성하던 TIL 을 옮기는 작업 중... 업로드를 미루지 말자!

profile
iOS Developer Student

0개의 댓글