안녕하세요, 좋은강의 감사드립니다.
아래 질문에 답변주시면 감사합니다!
[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를 하는지...?)을 갖고 처리하거나 등으로 하나요? 간단한 코드 예시가 있으면 감사합니다!
감사합니다. 강사님. 아이디처럼 좋은사람이에요 강사님은