목차
1. 동기 방식
2. 비동기 방식
3. 어떤 방법이 좋을까?
1. 동기 방식
- 하나의 작업이 완료가 된 후 다른 작업을 진행하는 방식
직렬적인 방식으로 진행 중인 작업이 끝나지 않으면 다른 작업은 진행될 수 없다.
2. 비동기 방식
- 하나의 작업이 완료되지 않아도 다른 작업을 진행하는 방식
여러 스레드가 한꺼번에 작업을 하므로써 병렬적 처리를 하기 때문에 동기 방식보다 빠르다.
3. 어떤 방식이 좋을까?
언뜻 보면 여러작업을 한꺼번에 처리할 수 있기 때문에 비동기 방식만 사용하면 좋을 것 같다. 하지만 동기 방식이 같이 사용되는 것일까?
이유는 간단하다.
비동기 방식은 에러 처리와 상태관리가 어렵고 처리하는 양이 많을수록 부하가 생긴다. 한번에 많은 작업을 해야하기 때문에 단일 작업을 하는 스레드가 많이 필요하고 2개 이상의 스레드에서 하나의 데이터를 참조하려고 할 때 아직 처리되지 않았다면 데이터의 신뢰성이 낮아질 수 있다.
JS는 비동기 작업을 지원하는 여러 기능이 있기에 이러한 현상을 예방하기 위해서 처리하는 것을 작업이 완료되기를 기다리는 것이 필요한데 이 작업을 비동기 처리라고 한다. 비동기 처리에 대한 내용은 나중에 다루도록 한다.
'JS' 카테고리의 다른 글
비동기 통신 ajax (0) | 2024.06.24 |
---|---|
FETCH API (0) | 2024.06.23 |
요소를 움직여? 드래그 이벤트 (0) | 2024.05.11 |
이벤트 등록하기 (0) | 2024.05.10 |
배열일까? 아닐까? 유사 배열 객체 (0) | 2024.05.09 |