안드로이드 코루틴

이영준·2023년 4월 24일
0

blocking , nonblocking, sync, async

blocking은 호출하는 함수를 끝까지 기다리는 반면, nonblocking은 호출 뒤에도 뒤의 문을 계속 실행한다.

중요한건 sync-nonblock, async-nonblock의 차이인데,
sync nonblock은 지속적으로 호출하는 함수에서 실행상황을 확인하는, Function A가 책임을 가지는 반면,
async - nonblock은 호출된 함수 B가 함수 실행의 책임을 가진다.

Coroutine

루틴 - 하나의 정리된 일, 보통 프로그램은 크고 작은 루틴들을 조합시켜 성립된다.
메인 루틴 - 프로그램 전체의 개괄적인 동작 절차를 표시하도록 만드는 핵심 역할 수행
서브루틴 - 반복되는 특정 기능을 모아 별도로 묶어 이름을 붙이고 사용하는 하위 루틴
코루틴 - 루틴의 일종

  • 메인,서브의 개념이 없어 모든 루틴들이 서로를 호출할 수 있음
  • 메인 루틴에서 특정 서브루틴의 공간으로 이동한 후에 return 에 의해 호출자로 돌아와 다시 프로세스를 진행하는 서브루틴과 다르게, 실행 중간에 멈추어서 특정 위치로 돌아갔다가 다시 원래 위치로 돌아와 나머지 루틴을 수행할 수 있다.
profile
컴퓨터와 교육 그사이 어딘가

0개의 댓글