개발을 하다보면 자주 접하게 되는 두단어가 있다
동기화 and 비동기화 두개의 단어는 개발 수업을 시작하면 얼마 안되 접하게되는데
개발 은퇴할때 까지 따라 다릴것이다.
일단 해당 단어가 왜 생겼는지를 알아야 개념을 잡고 갈수있다.
동기화(synchronization) 란 네이버 사전에 정의되어 있는 내용은
작업들 사이의 수행 시기를 맞추는 것. 사건이 동시에 일어나거나, 일정한 간격을 두고 일어나도록 시간의 간격을 조정하는 것을 이른다.(출처:네이버 어학사전)
라고 정의되어 있다.
사전적 정의는 항상 어렵다. 어떤것인지 명확하지 않아보인다.
하지만 생각보다 우리 주변에 많은 모습으로 보여지고 있다.
생활속 예로는 우리가 기차, 콘서트, 스포츠 표를 예매할때 여러명에 사용자가 접속해서 구매를 하는데 자리는 한정되어
있다. 만약 A라는 자리를 10명의 사람이 구매하게 되면 어떻게 되겠는가, 무릎위에 앉을수는 없지 않은가, 이럴때 적용하
는게 동기화이다. 공통에 데이터를 여러사람이 사용할때 중복되어 사용되면 안될때 적용해야 한다.
비동기화(asynchronism)는 위 행위에 반대라고 보면된다. 주로 사용자에게 정보를 전달하거나할때 사용된다고 보면 된다.
위에 내용은 데이터에 대한 동기화 비동기화를 말하고 다른 사용하는곳에서도 사용되는데
통신방식에서도 동기화, 비동기화 가 나온다
통신에서 말하는 동기화 비동기화는 무엇은지 보면
동기화 통신방식은 A > B 로 신호를 연락을하고 B > A 응답을 주어야 다음일을 한다.
응답이 안올경우 다음일을 진행하지 않습니다.
하지만 비동기는 A > B로 신호를 보내고 다음일을 바로 진행하고, B에 응답에 크게 영향을 받지 않습니다.
생활속 예로는 결제시스템이 있다, 우리가 카드결제를 하면 카드사로 통신을 보내고 결제 가능여부를 응답받아
결제가되어 상품을 받을수있습니다. 만약 카드사에서 응답이 없을경우 결제가 완료되지 않습니다.
이렇게 내용을보면 데이터, 통신에서의 동기화 비동기화는 다른 의미와 모습을 보여주고 있습니다.
비슷하지 다르고, 다르지만 비슷한 동기화 비동기화 입니다.
[Java]통신하는데 한글이 깨져요. (1) | 2024.01.02 |
---|---|
[Java] 변수로 배우는 상속(Inheritance)과 다형성(Polymorphism) (0) | 2024.01.01 |
[Java]문자형식(TextFormat) 이란? (0) | 2023.12.30 |
Java, Jsp 자주쓰는 정규화식 모음 (0) | 2023.12.28 |
MSA 어떻게 써먹을수 있을가? (1) | 2023.12.26 |