

Dart 문법 비동기 - 동기 vs 비동기 프로그래밍Dart/비동기2024. 8. 22. 16:51
Table of Contents
동기 프로그래밍
동기 프로그래밍은 코드가 순차적으로 실행되며, 각 작업이 완료된 후에 다음 작업이 시작되는 방식이다.
주요 특징:
- 코드가 위에서 아래로 순차적으로 실행된다.
- 하나의 작업이 완료될 때까지 다른 작업은 블로킹(blocking)된다.
- 코드의 흐름을 예측하기 쉽다.
예제:
이 예제에서는 '작업 1', '작업 2', '작업 3'이 순차적으로 실행된다.
비동기 프로그래밍
비동기 프로그래밍은 작업의 완료를 기다리지 않고 다음 작업을 실행할 수 있는 방식이다.
주요 특징:
- 긴 작업을 시작한 후 즉시 다음 작업으로 넘어간다.
- 작업의 완료 순서가 시작 순서와 다를 수 있다.
- 리소스를 효율적으로 사용할 수 있다.
Dart에서 비동기 프로그래밍을 위해 주로 Future, async, await 키워드를 사용한다.
예제:
이 예제에서 '작업 2'는 2초 후에 완료되지만, 그 동안 프로그램이 블로킹되지 않는다.
동기 vs 비동기: 언제 무엇을 사용해야 할까?
동기 프로그래밍 사용 시기:
- 간단하고 빠르게 완료되는 작업
- 순차적인 처리가 필요한 경우
- 결과를 즉시 사용해야 하는 경우
비동기 프로그래밍 사용 시기:
- 파일 I/O 작업
- 네트워크 요청
- 데이터베이스 쿼리
- 복잡한 계산이나 시간이 오래 걸리는 작업
예를 들어, 데이터베이스에서 게시판 글을 가져오는 작업, 복잡한 미적분 계산, 이미지 인코딩 등은 비동기로 처리하는 것이 좋다.
Dart에서의 비동기 프로그래밍 도구
- Future: 비동기 작업의 결과를 나타내는 객체
- async/await: 비동기 코드를 동기 코드처럼 쉽게 작성할 수 있게 해주는 키워드
- Stream: 연속적인 비동기 이벤트를 처리하는 데 사용
예제:
이 예제에서는 async와 await를 사용하여 비동기 작업을 처리하고 있다.
'Dart > 비동기' 카테고리의 다른 글
Dart 문법 비동기 - Stream (0) | 2024.08.22 |
---|---|
Dart 문법 비동기 - async, await (0) | 2024.08.22 |
Dart 문법 비동기 - Future (0) | 2024.08.22 |

@codeJunH :: codeJunH의 IT 공부 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!