AR삽질러

Dart 기초 - 비동기 프로그래밍 (8) 본문

Dart

Dart 기초 - 비동기 프로그래밍 (8)

아랑팡팡 2024. 5. 14. 21:38
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