동기, 비동기 차이

동기(Synchronous)

동기는 사전적으로 '동시에 일어난다'는 의미를 갖고 있습니다.

프로그래밍에서 동기는 작업이 순차적으로 진행되는 것을 의미합니다.

즉, 한 작업이 시작되면 해당 작업이 완료될 때까지 다른 작업이 기다려야 합니다.

동기 방식은 호출한 함수 또는 작업이 반환될 때까지 대기하는 동안 실행 흐름이 차단되는 특징이 있습니다.

동기 방식은 일반적으로 간단하고 직관적인 코드를 작성하기 쉽습니다.

하지만 여러 작업이 동시에 실행되어야 하는 경우,

각 작업의 완료를 기다리는 동안 시간이 소요되어 전체 프로세스의 성능이 저하될 수 있습니다.

또한 한 작업이 지연되면 다른 작업들도 모두 지연되는 문제가 발생할 수 있습니다.

비동기(Asynchronous)

비동기는 사전적으로 '동시에 일어나지 않는다'는 의미를 갖고 있습니다.

프로그래밍에서 비동기는 작업이 독립적으로 실행되며,

작업의 완료 여부를 기다리지 않고 다른 작업을 실행할 수 있는 방식을 의미합니다.

즉, 비동기 방식은 작업이 시작되면 해당 작업이 완료될 때까지 기다리지 않고 다음 코드를 실행할 수 있습니다.

비동기 방식은 주로 I/O 작업이나 네트워크 요청과 같이 시간이 오래 걸리는 작업에 유용합니다.

이러한 작업을 비동기적으로 처리하면, 프로그램은 작업이 완료되기를 기다리는 동안

다른 작업을 처리할 수 있으므로 전체적인 성능이 향상됩니다.