비동기(Asynchronous)는 동시에 발생하지 않는다는 뜻으로 컴퓨터에서는

요청과 동시에 결과가 일어나지 않는다는 의미이다. 즉, 요청한 후에 결과가 즉시 나오는 것이

아니라 나중에 결과가 나오는 것이다. 따라서 나중에 결과를 받을 것을 약속했기 때문에

요청한 프로그램은 결과를 받기 전까지 다른 작업을 할 수 있다. 주로 복잡한 요청을

처리할 때 사용하는 방식이다. 동기방식보다 효율적으로 자원을 활용할 수 있다.


동기(Synchronous)는 동시에 발생한다는 뜻으로 컴퓨터에서는 요청과 결과가

동시에 일어난다는 의미이다. 즉, 걸리는 시간에 관계없이 결과를 처리하게 되므로 

요청한 프로그램은 다른 일을 할 수 없게된다. 주로 간단한 요청을 처리 할 때 

사용하는 방식이다.



블로킹(Blocking)은 작업이 중단된다는 뜻이다. 블로킹 방식은  일반적으로 통신에서 요청을 

처리할 때 결과를 받기까지 모든 일을 중단하고 대시상태로 만든다.


논블로킹(Non-blocking)은 블로킹과는 반대로 작업을 중단하지 않고 계속하는 것을 의미한다.

대게 네트워크 통신에서 요청한 작업 외에 다른 작업을 할 수 있기때문에 복잡한 설계에도 

효율이나 반응속도가 블로킹방식보다 뛰어나다.




정리하자면,


동기방식은 간단한 요청을 할 때 사용되며, 다른 작업이 블로킹처리되는 방식이다.

비동기방식은 복잡한 요청을 할 때 사용되며, 작업 처리가 논블로킹이므로 효율적으로 자원을

관리하고, 작업 처리의 반응속도가 빠르다.

'Programming Language > etc' 카테고리의 다른 글

쉘 스크립트 (Shell Script)  (0) 2019.06.26
Double Buffering - 더블 버퍼링 기법  (0) 2017.03.22

+ Recent posts