[programing] 동기
동기
: 해당 이벤트가 끝날때까지 자신(해당 프로세스/스레드)이 하는 경우를 동기라고 한다.
-
- 동기의 특징
- 해당 이벤트에 대해서 언제 끝날지 보장받을 수 있다.
- 해당 이벤트들이 완료했는지 순서있게 알 수 있다.
- 한 이벤트가 완료할때까지 다른 이벤트를 수행할 수 없다.
비동기
: 해당 이벤트를 다른 프로세스(스레드)에게 시키는 경우를 비동기라고 한다.
-
- 비동기의 특징
- 해당 이벤트에 대해서 언제 끝날지 보장받을 수 없다.
- 해당 이벤트들이 완료했는지 순서 제어가 어렵다.
- 한 이벤트가 완료하지 않아도 다른 이벤트를 수행할 수 있다.
- 병행 프로그래밍이 쉽다.
블록
: 프로세스(스레드)의 상태가 이벤트가 발생할때 이벤트가 완료할때까지 wait 상태로 잠들어 있는 경우의 함수는 블록함수라고 한다.
-
- 블록의 특징
- wait 상태로 있는 동안 cpu를 점유하지 않는 장점이 있지만 프로세스는 다른 일을 수행할 수 없다.
논블록
: 프로세스(스레드)의 상태가 이벤트가 발생할때 이벤트를 기다리지 않고 바로 리턴해서 wait 상태로 있지않는 경우의 함수를 논블록함수라고 한다.
-
- 논블록의 특징
- wait 상태로 있지않아 다른 일을 바로 수행할 수 있다. 그러나 원하는 값을 리턴받지 못하는 경우가 생긴다.