Yield from coroutine vs yield from task
As reported in this question(second answer) "yield from coroutine()
" is like calling a function. I don't understand how something like yield from, that actually waits until the coroutine is finished should enable concurrency and non blocking operations.
For example in Golang you just reason by the go keyword.
When you do something like:
func function1(){
go function2()
... Some channel communication here
}
what happens is that ideally the 2 task start in parallel and can communicate concurrently using channels.
This tasks can easily be made parallel(increasing the number of procs) and the logic behind is more straightforward to me.
Please someone help me please to understand this stuff.