인프런 커뮤니티 질문&답변

toaehddn님의 프로필 이미지
toaehddn

작성한 질문수

고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)

sync, async 질문

작성

·

340

0

안녕하세요, 좋은강의 감사드립니다.
아래 질문에 답변주시면 감사합니다!
 
[1]
sync/async, blocking/non-blocking 의 경우의수가 4가지가 있다고 배워습니다 (2*2)
그런데 강의를 보다보면... (I/O Bound - (2) 강의)
sync는 자연스럽게 blocking이 된 상황들이고
async는 자연스럽게 non-blocking이 된 상황들로 보여집니다.
파이썬 코드에서 따로 async 관련을 안쓰면 자연스럽게 sync-blocking이 되는것이고,
모든걸 async를 신경써서 쓰면 자연스럽게 async-nonblocking이 되는것인가요?
 
[2]
multi - thread/process 는 Queue를 이용해서 어떤 thread/process에서 작업이 끝나면 데이터를 다른 thread/process로 보내줄 수 있다고 이해를 하고 있는데요...
async의 경우는 함수에게 어떤일을 시키고, 그 함수가 끝나면 끝났다! 라고 알려준다고 이해를 했는데... 이때는 그 시점? 끝나서 반환하는값? 을 어떻게 알아차리나요?
예를들어 single-thread/process에서 함수A를 일을 시키면 곧 함수A가 끝났을때 100을 리턴한다고하면, 리턴받은 값을 가지고 추후 작업을 처리하고자 할텐데... 어떻게해야하나요? 무한대기하고있으면서 함수A가 끝났다고 말해주면(이건 어떻게 catch를 하는지...?), 그 값(이건 어떻게 catch를 하는지...?)을 갖고 처리하거나 등으로 하나요? 간단한 코드 예시가 있으면 감사합니다!

답변 1

1

좋은사람님의 프로필 이미지
좋은사람
지식공유자

안녕하세요.

아래 링크를 읽어보세요.

https://velog.io/@codemcd/Sync-VS-Async-Blocking-VS-Non-Blocking-sak6d01fhx

2번 항목질문은 뒷 부분까지 수업을 들으시고 wait에 대해서 배울 수 있습니다.

toaehddn님의 프로필 이미지
toaehddn
질문자

감사합니다. 강사님. 아이디처럼 좋은사람이에요 강사님은

toaehddn님의 프로필 이미지
toaehddn

작성한 질문수

질문하기