동기 (Synchronous) & 비동기 (Asynchronous)

scheuun·2023년 9월 1일
0

동기 (Synchronous):

  • 순차적 실행: 동기 코드는 순차적으로 실행된다. 한 작업이 끝나야 다음 작업이 시작된다.

  • 블로킹: 동기 코드는 한 작업이 실행되는 동안 다른 작업을 차단한다. 작업이 완료될 때까지 대기해야 한다.

비동기 (Asynchronous):

  • 병렬 실행: 비동기 코드는 여러 작업이 동시에 실행될 수 있다. 다른 작업이 실행 중일 때도 대기하지 않고 다른 작업을 수행할 수 있다.

논 블로킹: 비동기 코드는 다른 작업을 차단하지 않고 계속 실행된다. 작업이 완료되지 않아도 다른 작업을 수행할 수 있다.

동기 코드는 간단하고 예측 가능하지만, 대규모 시스템에서는 효율성과 응답성 면에서 한계가 있을 수 있다. 반면 비동기 코드는 병렬성을 활용하여 시스템의 성능을 향상시킬 수 있지만, 코드 복잡성이 증가하고 디버깅이 어려울 수 있다.

profile
java 개발자

0개의 댓글