일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 건담베이스
- 一日一つメソッド
- ruby
- javascript
- jsp
- rails7
- C로 시작하는 컴퓨터 프로그래밍4판
- 日本語
- 単語
- vscode
- 건담
- 디지몬
- 연습문제
- Python
- メソッド
- 일본어
- CSS
- java
- 반다이몰
- rails
- 자바
- DART
- Spring
- html
- nico
- 비즈니스일본어
- Web
- springboot
- Flutter
- 인프런
Archives
- Today
- Total
AR삽질러
Dart 기초 - 비동기 프로그래밍 (8) 본문
728x90
Dart 기초 - 비동기 프로그래밍 (8)
1. 동기 프로그래밍(Synchronous)
- 동기 / 비동기는 프로그램의 작업의 실행순서나 방식에 대한 특성을 나타낸다.
동기(Synchronoous)
- 동기 프로그래밍은 순차적으로 실행되는 방식
- 하나의 작업이 끝나고 나서 다음 작업이 시작된다.
- 하나씩 실행되기 때문에 순서가 명확하고 예측하기 쉽지만 작업시간이 많이 요소되는 어떠한 작업이 있을 경우 전체적인
프로그램의 효율이 저하될수 있다.
ex)
웹 페이지에서 광고를 로딩하는 경우 광고가 완전히 불러와지기 전까지는 다른 웹 페이지가 차단될 수있다.
import 'dart:io';
void main(){
print("동기 시작");
time();
print("동기 완료");
}
void time(){
sleep(Duration(seconds: 3));
print('3초 작업 완료');
}
2. 비동기 프로그래밍(Asynchronous)
비동기(Asynchronous)
- 특정 작업의 처리 결과를 기다리지 않고 다음 작업을 수행할 수 있도록한다.
- 여러 작업을 처리할 수 있어 효율적인 작업 수행이 가능하고 시간이 많이 걸리는 작업은 백그라운드로 처리해 완료 여부에
따라 콜백 함수나 이벤트를 통해 결과를 처리할 수 있다.
ex)
광고가 다른 기능들과는 독립적으로 재생될수 있어 광고가 로드 되는동안 페이지 내에서 다른 기능을 이용할 수 있다.
import 'dart:io';
void main() async{
print("작업 시작");
time();
print("작업 완료");
}
Future<void> time() async{
print('비동기 시작');
await Future.delayed(Duration(seconds: 3));
print('비동기 완료');
}
728x90
반응형
LIST
'Dart' 카테고리의 다른 글
Flutter 기초 - Widget (8) (0) | 2024.05.15 |
---|---|
Dart 기초 - 레코드 (9) (0) | 2024.05.15 |
Dart 기초 - 예외처리 (7) (0) | 2024.05.14 |
Dart 기초 - 반복문 (6) (0) | 2024.05.12 |
Dart 기초 - 분기문 (5) (2) | 2024.04.26 |