inblog logo
|
RottenYogurt's Development Blog
    programmig

    동기와 비동기

    썩은요플렛's avatar
    썩은요플렛
    Aug 01, 2024
    동기와 비동기
    Contents
    동기 (Synchronous)비동기
     

    동기 (Synchronous)

     
    동기 처리에서는 작업이 순차적으로 수행된다. 하나의 작업이 완료될 때까지 다른 작업이 시작되지 않는다. 즉, 함수 호출이나 작업 요청을 하면 그 작업이 완료될 때까지 기다렸다가 다음 작업을 시작합니다.
     

    특징

    1. 순차적 실행: 모든 작업이 순서대로 실행됩니다.
    1. 블로킹(blocking): 작업이 완료될 때까지 대기 상태에 있게 됨.
    1. 단순성: 코드가 직관적이고 이해하기 쉽다.
     
     

    장점

    • 코드의 흐름이 직관적이고 이해하기 쉬움
    • 디버깅과 오류 처리가 용이
     

    단점

    • 작업이 오래 걸리는 경우 전체 시스템의 응답성이 저하될 수 있습니다.
    • 자원을 비효율적으로 사용할 수 있습니다.
     
     

    비동기

     
    비동기 처리에서는 작업이 병렬적으로 수행된다. 하나의 작업이 시작 된 후 완료될 때까지 기다리지 않고, 다른 작업을 계속해서 수행할 수 있습니다. 작업이 완료되면 콜백 함수나 이벤트 핸들러를 통해 결과를 처리한다.
     

    특징

     
    1. 병렬적 실행: 여러 작업이 동시에 수행될 수 있습니다.
    1. 논블로킹(non-blocking): 작업이 완료될 때까지 대기하지 않고 다른 작업을 계속 수행
    1. 복잡성: 코드가 복잡해질 수 있으며, 동기화 문제가 발생할 수 있다.
     

    장점

    • 시스템의 응답성이 향상됨.
    • 자원을 효율적으로 사용할 수 있다.
     

    단점

    • 코드가 복잡해지고 이해하기 어렵다.
    • 디버깅과 오류 처리가 어려울 수 있다.
       
      Share article
      Contents
      동기 (Synchronous)비동기

      RottenYogurt's Development Blog

      RSS·Powered by Inblog