main 1 sub 1 main 2 sub 2 main 3 wait: wait start wait end end waiting value produced after some time: 42 non-blocking goroutine done with non-blocking goroutine async interface method call