일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자료구조
- Svelte
- 호키스
- hokidoki
- 스위프트
- hokeys
- 힛잇
- Hitit
- 리액트 예제
- javascript
- IOS
- 이종호
- 자바스크립트 자료구조
- queue
- 계명대 이종호
- jest
- 개발자
- 계명대
- 리액트
- 호키도키
- react
- 자스민
- HTML
- 스벨트
- data structure
- SWIFT
- TDD
- 자바스크립트
- 비동기
- 개발
- Today
- Total
목록2021/09/23 (2)
Dog foot print
비동기와 동시의 차이 학생들과 이야기 해보면 비동기 와 동시 의 의미를 헷갈리는 경우가 종종 존재한다. Serial 과 Concurrent를 설명하기 전에 집고 넘어가도록 하자. 비동기는 말그대로 어떤 작업을 기다리지 않는다라는 의미이며, 동시라는 의미는 같은 시간에 어떤 작업이 말 그래도 동시에 일어 날 수 있는 것을 의미한다. Serial Queue SerialQueue는 순서가 중요한 작업들을 처리할 때 사용 되는 큐이다. 아래의 코드를 보도록 하자. let queue = DispatchQueue(label : "serial") queue.async{ sleep(3); print("1") } queue.async{ sleep(2); print("2") } queue.async{ sleep(1); p..
Async 비동기 Async는 어떤 작업이 끝나기를 기다리지 않고, 다음 작업이 실행되는 것을 의미한다. 아래의 코드를 보도록 하자 . import Foundation print("1") DispatchQueue.global().async(){ print("2") } print("3") 위의 코드는 순차적으로 실행되지 않는다. 이것을 그림으로 보면 다음과 같다. DispatchQueue.global().async 의 코드 역할은 블락에 있는 코드를 전달하는 것으로 이 코드의 역할은 마무리 된다. 그러므로 2번째 프린트 문을 기다리지 않고 print(3)이 출력된다. Sync 동기 Sync는 작업을 다른쓰레드에 시키고 그 일이 종료될 때 까지 기다린다는 의미이다. 아래의 코드를 보자 print("1") D..