-
|
이번에 어느 집단에 서류를 넣고 면접은 무슨 질문이 나올까 검색 도중에 아래와 같은 질문이 있어서 같이 논의 해보면 좋을듯해서 올립니다. Blocking과 non-Blocking 차이점은 무엇이있을까요? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 3 replies
-
|
Blocking / Non-Blocking을 검색해보면 Synchronous / Asynchronous 가 함께 등장한다. (1) 관점 (2) 동기/비동기 비동기 Asynchronous 는 A가 붙어 부정하는 형태로 요청한 작업에 대해 완료 여부를 따지지 않으며 자신의 다음 작업을 그대로 수행한다. 성능 관련해서 동기의 경우 모든 작업이 순차적으로 진행되기 때문에 각 Task 가 걸리는 시간을 더한 만큼 총 작업 시간이 걸린다. 예를들어 데이터베이스 쿼리를 수행하는 작업이 있을 때 (3) 블록/ 논블록 예를들어 파일을 읽는 작업이 있을 때 동기/비동기 , 블록/논블록 은 서로 다른 개념으로 이 두 개념을 서로 조합해 총 4가지 경우를 만들 수 있다!
아래 글을 보고 작성해 봤는데 자세한 내용은 블로그를 보는걸 추천드립니다! |
Beta Was this translation helpful? Give feedback.
-
|
Blocking/Non-Blocking 단어를 어디서 최근에 들은 것 같아서 찾아보니 얼마전에 리눅스시스템프로그래밍 과목 수업에서 들은 부분이네요 ! 이 개념과 동일한 개념이려나요 ,,? (아직 공부 전 입니다,,하하) |
Beta Was this translation helpful? Give feedback.

Blocking / Non-Blocking을 검색해보면 Synchronous / Asynchronous 가 함께 등장한다.
이 용어들은 멀티 테스킹과 관련이 있어보여 비슷한 개념으로 오해할 수 있는데, 이번 기회에 차이점을 확실히 구분해보자.
(1) 관점
동기/비동기 : 요청 작업의 완료 여부를 신경씀, 작업을 순차적으로 수행할지 아닐지 에 대한 관점.
블록/논블록 : 현재 작업이 block 되느냐 아니냐에 따라 다른 작업을 수행할 수 있는지에 대한 관점.
뭔가 한번에 이해되지 않는 표현들이다, 각 개념들을 하나씩 뜯어 살펴보자.
(2) 동기/비동기
동기 Synchronous 의 영단어 뜻을 보면 Syn는 '함께' chrono는 '시간' 이라는 뜻이다.
즉, 작업 시간을 함께 맞춰서 실행한다 라는 뜻으로 해석된다.
이 말은 요청한 작업에 대해 완료 여부를 따지며 순차적으로 처리한다. 라고 할 수 있다..
비동기 Asynchronous 는 A가 붙어 부정하는 형태로 요청한 작업에 대해 완료 여부를 따지지 않으며 자신의 다음 작업을 그대로 수행한다.
성능 관련해서 동기의 경우 모든 작업이 순차적으로 진행되기 때문에 각 Task 가 걸리는 시간을 더한 만큼 총 작업 시간이 걸린다.
반면 비동기의 경우 두개 이상의 작업이 동시에 실행될 수 있으므로 성능 향상에 도움을 줄 수 있다.
또, a,b,c 라는 작업이 있을 때 동기의 경우 순서…