Async(비동기) 함수 이해


Async(비동기) 함수 이해

최근 회사 업무를 하면서 Async 형으로 주어지는 API를 받아서 코드를 짜보았다. 코드를 짜면서 내 부족했던 운영체제 개념을 다시 정립하게 되었는데, 이를 글로 남겨보려고 한다. Async 함수란? "비동기"란 어떤 작업이 완료될 때까지 프로그램 실행이 블로킹되지 않고, 다른 작업을 계속 진행할 수 있는 방식을 의미한다. 주로 특정 함수를 BackGround에서 실행시킬때 사용된다. *(주로 자바스크립트에서 자주 이용된다고 하는데, 이 글은 C언어 기반 임베디드 펌웨어에서 동작하는 원리를 설명하려고 한다.) 비동기 프로그래밍의 장점 I/O 작업이나 네트워크 요청과 같이 시간이 오래 걸리는 작업을 백그라운드에서 처리하여 애플리케이션은 Stuck되지 않고 다른 작업을 계속 수행할 수 있다. 순차적 실행과는 다른 관점으로 접근해야 한다. C언어 뿐만 아니라 다양한 언어를 사용하며, 디버거를 사용해본 경험이 있을 것이다. 디버거를 사용하면 1 line씩 코드를 실행하며 우리가 작성한 코...



원문링크 : Async(비동기) 함수 이해