티스토리 뷰

이 글은 제가 이해한 개념을 바탕으로 작성하였기에 틀린 부분이 있을 수 있습니다.

댓글로 틀린 부분에 대해 지적해주시면 감사하겠습니다 :)

 

 


# 비동기와 동기 처리

 

비동기식 처리는 요청과 결과가 동시에 일어나지 않습니다. 따라서 노드 사이의 작업 처리 단위도 동시에 맞출 필요가 없습니다.

 

동기식 처리는 요청과 결과가 동시에 일어납니다. 따라서 노드 사이의 작업 처리 단위를 동시에 맞출 필요가 있습니다.

 

예제를 들어보겠습니다.

 

ㅣ비동기

 

비동기 처리의 예

 

손님과 요리사는 서로의 행위(목적)가 다르기 때문에 작업 처리 시간은 일치하지 않아도 됩니다. 손님이 요리를 주문했을때(요청) 바로 서빙(결과)할 필요가 없습니다.

 

여기서 잠깐 짚고 넘어갈 것이 있는데 만약 손님이 요리가 나올 때까지 아무것도 안하고 단지 기다리기만 한다면 블록 상태 이고, 요리를 기다리는 동안 핸드폰을 하거나, 화장실을 갔다오거나 등 다른 행위를 할 수 있으면 논블록 상태 입니다.

 

ㅣ동기

 

동기 처리의 예

 

 

 

읽어주셔서 감사합니다.

댓글
  • 프로필사진 Favicon of https://pletho.tistory.com 플래토 위의 예문에 버그가 있습니다.

    function test1() {
    console.log("test1");
    }

    function test2() {
    console.log("test2");
    }

    function test3() {
    console.log("test3");
    return "콜백 인자";
    }

    $(function () {
    var param = undefined;

    test1();
    test2();
    param = test3();
    console.log(param);
    })

    로 하면 리턴값 "콜백 인자" 가 정상적으로 잘 찍힙니다.

    오타

    params = test3();
    =>>
    param = test3();
    으로 변경한겁니다.
    2021.03.31 13:44 신고
  • 프로필사진 Favicon of https://kingofbackend.tistory.com KoB 이전 글이 콜백에 대한 내용이였는데 댓글을 보고 제가 잘못 알고 있는 부분이 있어서 콜백에 대한 내용은 삭제하고 동기와 비동기 부분만 남겨두었습니다!! 감사합니다 :) 2021.05.06 12:43 신고
댓글쓰기 폼
공지사항
Total
248,450
Today
825
Yesterday
1,065
링크
«   2022/10   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
글 보관함