今天上了runBlocking课,有几个问题想跟老师同学们讨论一下
来源:12-5 案例:仿官方框架实现 runBlocking

慕前端9039556
2020-10-20
question1:老师说第三次打印joinBlocking说的太快,没听清,不过我认为是delay函数完成调用的resume,不知道是不是这样。
question2:我在此处打印了 runBlocking,我不明白为啥这个东西能最先打印?BlockingQueueDispatcher里面也没有切换线程,都在主线程里。按理说block函数体应该先执行。才能走到后面的log(“runBlocking”)
打印顺序如下:
question3: 另外还有一个小问题 不知道我为啥 打印线程名字的时候是[main null] 代码是我下载的,我看视频里也不是main null。。。
写回答
3回答
-
bennyhuo
2020-10-21
2. dispatch的时候只是放到队列里,因此没有执行。执行要等到joinBlocking。
182020-10-22 -
bennyhuo
2020-10-21
3 那个 main是线程名,null是协程名, runBlocking 里面有名字,但外面是 suspend main,所以是null
022020-10-21 -
bennyhuo
2020-10-21
1. 是的
032020-11-13
相似问题