协程在往map里面存10个数,主线程在读map,然后读出来了
为什么能读出来,他的过程是什么样子,主线程等协程运行完在读的吗。
你可理解主线程为一个进程,协程是有独立栈空间的轻量线程。它们是同时进行的,协程运行依赖于它的上下文环境,就是主线退出,它也活不了,宿主死了,寄生的也挂了。只要不发生资源争夺阻塞问题,它们运行玩读写操作就会结束进程退出程序。如果你不加互斥锁或者不用管道传输或者忘记关闭遍厉的管道就会发生死锁问题,它主线程会一直等发生阻塞。当然你也可以用selet来解决。还有,你多个协程不设置好结束条件主线程默认立即结束,这时携程还没完成,会完成数据丢失甚至操作不进行。