inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드팩토리] [입문] Dart 언어 4시간만에 완전정복

Dart #4 Async Programming 비동기 프로그래밍

21분15초 부분

331

열중

작성한 질문수 1

0

다른 함수가 있으면 실행한다고 설명해주시는데

void main() async {
  Future<String> name = Future.value("dnb");
  Future<int> number = Future.value(1);

  await addNumbers(1,1);
  await addNumbers(2,2);
  hello();
}

Future<void> addNumbers(int num1, int num2) async {
  print("계산 시작 : $num1 + $num2");
  
  //서버 시뮬레이션
  await Future.delayed(Duration(seconds: 2), (){
    print("계산 완료 $num1 + $num2 = ${num1+num2}");
  });
  
  print("함수 완료");
}

void hello() {
  print("hello");
}

 

이렇게 하면 다 기다린다음 hello 출력하는데

설명해주시는건 무엇을 의미하나요 다 기다린다음 hello출력하는건 맞는건 알겠는데  다른함수가있으면 실행가능하다고,,,

이런 경우엔 놀고있는 thread는 어디서 사용하는건가요

Flutter oop 함수형-프로그래밍

답변 2

0

Junghyun Kim

await가 기다리는 scope는 해당 await가 사용된 async 함수 내에서 한정이에요.

해당 코드에서는 main 함수에 async를 걸어서 await했기 때문에, thread가 idle 한 상태에서 각 await마다 놀고있는 상태로 있을 뿐이에요.

void realMain() {
  main();
  otherFunction();
}

만약 위 구현처럼 main 함수도 다른곳에서 호출되었다면, thread는 otherFunction을 실행하게 됩니다.

물론, main에서 await를 거는 구현은 사실상 '나는 thread를 놀게 할거야' 라고 선언하는거랑 같은 맥락이에요.

0

코드팩토리

안녕하세요!

실전 상황에는 여러 기능이 동시에 실행됩니다. 간단히 풀어보면 사용자가 여러 버튼을 연속적으로 누르는 상황이 되겠습니다!

하나의 버튼을 누를때마다 응답을 처리하는데 10초가 걸린다면 버튼 10개를 연속적으로 눌렀을때 실행 완료까지 100초가 걸립니다. 하지만 async 상황에서는 10개를 1초만에 누른다면 11초안에 실행을 모두 마칠 수 있습니다!

[질문] OOP 상속 VS 컴포넌트 방식에 대하여

0

503

1

Beverage 인터페이스

0

306

2

자동 패키지 임포트 관련 질문 드립니다.

0

652

1

JDK 설치(해결완료 )

0

1743

3

함수형 인터페이스(전반전)에서 작성한 코드가 이해되지 않습니다.

0

476

1

LocationPermission.denied관련 질문입니다

0

598

1

8강. 클래스 강의 중 return 값을 갖는 메소드

0

376

1

8강.클래스 강의 중 메소드 관련 질문

0

371

1

@Qualifier를 찾는 용도라는 말이 조금 헷갈립니다ㅠㅜ

0

733

1

[질문] cascading operator 설명하실 때

2

623

1

초급자 질문

0

507

1

CachedNetworkImage 로 인한 memory leak 문제..

0

956

2

이것이 왜 실행이 안되는지 여쭙고 싶네요.

0

2797

1

초급강의를 수강할때 질문입니다.

0

480

1

void함수 질문입니다

0

398

1

getter와 setter에 대한 의문입니다.

0

387

1

객체지향강의 클래스강의 의문점이 있습니다

0

314

1

쿠폰 이제 사용 못하나요 ?

0

565

1

다트언어 기초 2강 54분 this.calculate()*2; 이해가 안돼서요 ㅜㅜ

0

293

1

질문 좀 받아주세요 팩토리님!!

0

342

1

#2 OOP 17분 질문

0

208

1

처음 시작인데 오류ㅠ

0

254

1

사소한 질문 드립니다.

0

422

1

함수의 오버로딩

0

559

1