기어가더라도 제대로

3. 직렬과 동시 본문

CS/동시성

3. 직렬과 동시

Damagucci-juice 2022. 8. 31. 17:25

직렬과 동시 image

직렬 큐는 단 하나의 스레드로만 보낸다.(Serial)

직렬과 동시 image

동시 큐는 다른 여러개의 스레드로 보낸다. (Concurrent)

‏‏‎ ‎

직렬큐는 왜 필요할까?

순서가 중요한 작업을 처리할 때 사용

‏‏‎ ‎

동시 큐는 언제 사용할까?

동시 큐는 각자 독립적이지만 유사한 여러개의 작업을 처리할 때 사용

‏‏‎ ‎

직렬과 동시 image

셀마다 이미지를 불러오는 작업이 동시적으로 처리가 될 수 있다.

‏‏‎ ‎

비동기와 동기

  • 비동기(Async)
    • 작업을 다른 스레드에서 하도록 시킨 후,
    • 그 작업이 끝나길 기다리지 않고 다음일을 진행한다.(안기다리고 다음 작업을 생성)
  • 동기(Sync)
    • 작업을 다른 스레드에서 하도록 시킨 후,
    • 그 작업이 끝나길 기다렸다가 다음 일을 진행한다. (기다렸다가 다음 작업 생성)

‏‏‎ ‎

‏‏‎ ‎

직렬 큐와 동시 큐

  • 직렬(Serial) 큐
    • (보통 메인에서) 분산 처리 시킨 작업을
    • 다른 한개의 스레드에서 처리하는 큐
    • 순서가 중요한 일
      • (main serial queue) UI 업데이트 
  • 동시(Concurrent) 큐
    • (보통 메인에서) 분산 처리 시킨 작업을
    • 다른 여러 개의 스레드에서 처리하는 큐

‏‏‎ ‎

비동기(Async)란 말과 동시(Concurrent)란 말이 같은 말인가?

  • 기다릴지 말지 결정
    • 동기, 비동기
  • 한 스레드에서 처리할지 여러 스레드에서 처리할지 결정
    • 직렬, 동시 큐

'CS > 동시성' 카테고리의 다른 글

5. GCD 사용시 주의해야할 사항  (0) 2022.09.26
4. 디스패치 큐의 종류  (0) 2022.09.26
2. 동기(Synchronous) VS Asynchronous(비동기)  (0) 2022.08.31
1. GCD 와 Operation  (0) 2022.08.31
0. 동시성 프로그래밍의 필요성  (0) 2022.08.31
Comments