일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 힛잇
- 호키도키
- 계명대 이종호
- HTML
- 비동기
- IOS
- 자료구조
- 이종호
- 자바스크립트
- queue
- 리액트 예제
- 리액트
- react
- Svelte
- 스위프트
- 개발
- 계명대
- javascript
- hokeys
- TDD
- Hitit
- hokidoki
- data structure
- 자스민
- 자바스크립트 자료구조
- 개발자
- jest
- 스벨트
- SWIFT
- 호키스
- Today
- Total
목록sync (2)
Dog foot print
들어가기 앞서 Dispatch Queue는 어떤 쓰레드로 작업을 보내기 위한 대기행렬을 의미한다. 이 포스팅에서 다뤄볼 내용은 각 쓰레드 마다 어떤 역할을 하고 있고, 작업이 어떻게 이루어 지는지를 다뤄본다. Main Main 쓰레드로 작업을 보내기 위한 Queue이다. 이 Queue의 특징은 다음과 같다. Serial Queue 이다. 작업이 끝나야 다음 작업이 실행된다. Main Thread에게 작업을 요청한다. 유일한 쓰레드인 Main Thread 에게 요청 UI업데이트 작업을 요청 할 수 있다. 유일하게 UI업데이트를 요청 할 수 있다. sync메서드를 사용 할 수가 없다. 이 queue로 작업을 보낼 때 sync 메서드를 사용하여 코드를 처리하면 에러가 발생한다. 사용 예시 DispatchQue..
Async 비동기 Async는 어떤 작업이 끝나기를 기다리지 않고, 다음 작업이 실행되는 것을 의미한다. 아래의 코드를 보도록 하자 . import Foundation print("1") DispatchQueue.global().async(){ print("2") } print("3") 위의 코드는 순차적으로 실행되지 않는다. 이것을 그림으로 보면 다음과 같다. DispatchQueue.global().async 의 코드 역할은 블락에 있는 코드를 전달하는 것으로 이 코드의 역할은 마무리 된다. 그러므로 2번째 프린트 문을 기다리지 않고 print(3)이 출력된다. Sync 동기 Sync는 작업을 다른쓰레드에 시키고 그 일이 종료될 때 까지 기다린다는 의미이다. 아래의 코드를 보자 print("1") D..