반응형
자바와 자바스크립트에서 동기화와 비동기화의 차이
동기 (Synchronized) |
비동기 (Asynchronized) |
어느 메소드가 실행하는 동안 다른 메소드 실행이 불가능하도록 블락하는 것을 의미 |
어느 메소드를 실행하는 도중에도 다시 메소드를 실행하는 것이 가능 |
Java |
|
1. 수신자데이터 ↔ 송신자 데이터 2. 송신자데이터 ↔ 수신자 데이터 수신자가 어떤 데이터를 보낼 지 예상한 상태여야 가능 |
1. 수신자 데이터 → 수신자의 반응 2. 송신자의 답변 → 진행 즉, 수신자가 어떤 데이터를 보낼 지 예상 못하는 상태 |
서버와 클라이언트가 주고받는 것이 동시에 이루어짐 | 서버와 클라이언트가 주고받는 것이 동시에 이루어지지 않음 |
시스템의 일치가 필요(쉽지만 비쌈) | 시스템의 일치가 필요하지 않음(어렵지만 싸다) |
수신중에는 다른 매체 사용불가로 대기시간동안 버퍼링이 발생 | 수신하는 동안 다른 작업 실행 가능하며 버퍼링이 적음 |
시간적인 동기화가 필요한 곳에 주로 사용(현금인출기) | 반응이 빠르므로 여러 방면에서 사용 가능 - 서버로부터 데이터를 미리 셋팅하는 경우 - 문제 발생 시 별도 실행이 필요한 경우 |
Java Script |
|
요청에 대한 응답 결과 출력 후 다음 동작이 순서대로 실행되는 방식 | 요청 결과 응답과 별개로 다음 동작이 실행되는 방식 자바스크립트는 단일 쓰레드임. 그러나 동시에 동작하는 것처럼 보이게 하는 것이 비동기 방식 |
- 한 자원에 대헤 동시 접근하는 것을 제한하는 방식 - 클라이언트가 서버에 데이터를 요청하고 응답을 기다리는 동안 작업이 멈추고 기다려야 함 |
- 현재 실행중인 명령이 있어도 다음 명령을 실행가능한 방식 - 클라이언트가 서버의 응답을 기다리는 동안 다른 일 진행 가능 - 따라서 클라이언트가 편리하고 빠르게 작업할 수 있는 것처럼 느낌 |
참고 링크 :https://www.mendix.com/blog/asynchronous-vs-synchronous-programming/
반응형
'🏁 Product > ⌨️ Programming' 카테고리의 다른 글
[ IT 용어 ] 쿠키(Cookie)와 세션(Session)의 차이 (0) | 2024.05.22 |
---|---|
[Figma] 디자인하다 궁금한 점 (0) | 2023.01.06 |
프로토타이핑에서의 Lo-fi vs hi-fi (0) | 2022.01.24 |
[ IT 용어 ] 스냅샷과 백업의 차이 (0) | 2022.01.22 |
[ IT 용어 ] 스냅샷(Snapshot) 이란? (0) | 2022.01.22 |