본문 바로가기
오답노트

비동기와 동기 함수

by titlejjk 2023. 5. 30.

비동기와 동기함수는 프로그래밍에서 중요한 개념이다.

 

동기 함수👉

동기함수는 코드가 위에서 아래로 순차적으로 실행되며, 한 번에 하나의 작업을 처리한다. 즉 한 작업이 완료되기 전까지 다음 작업으로 넘어가지 않는다. 이는 우리가 보통 생각하는 일반적인 실행 방식이다. 예를 들어, 동기 함수로 파일을 읽는 작업을 수행한다면, 파일을 읽는 동안은 다른 작업을 할 수 없고, 파일을 읽은 후에야 다음 작업을 수핼할 수 있다.

 

비동기 함수👉

작업을 백그라운드에서 실행하고, 작업이 완료되지 않아도 다음 코드로 넘어갈 수 있다. 비동기 함수는 작업을 시작한 후에 다른 작업을 계속할 수 있으며, 작업이 완료되면 그 결과를 받아올 수 있다. 이를 통해 다른 작업을 동시에 처리하거나, 작업이 완료될 때 까지 대기하지 않고 다른 작업을 처리할 수 있다. 파일을 읽는 작업을 예로 들면, 비동기 함수로 파일을 읽는다면 파일을 읽는 동안 다른 작업을 처리할 수 있고, 파일 읽기가 완료되면 그 결과를 받아와 처리할 수 있다.

 

이러한 비동기 함수는 특히 네트워크 요청, 파일 입출력, 데이터베이스 작업 등 시간이 오래 걸리는 작업을 다룰 때 유용하다.

동기함수의 경우 작업이 완료될 때까지 대기해야 하기 때문에, 여러 작업을 동시에 처리하는데 제약이 생길 수 있다.

하지만 비동기 함수는 작업을 백그라운드에서 처리하므로, 여러 작업을 동시에 처리하거나 다른 작업을 기다리는 동안 시간을 활용할 수 있다.

비동기 함수는 일반적으로 콜백(callback)함수, 프로미스(Promise)혹은 async/await 문법을 통해 구현될 수 있으며 이들을 활용하여 비동기 작업을 처리하고, 작업이 완료되었을 때 결과를 처리하는 방식을 사용할 수 있다.

 

요약하자면, 동기 함수는 순차적으로 작업을 처리하는 반면, 비동기 함수는 작업을 배그라운에서 처리하고 다른 작업을 계속할 수 있으며, 작업이 완료되면 그 결과를 받아온다. 비동기 함수는 시간이 오래 걸리는 작업을 효율적으로 다룰 수 있다.

 

댓글