请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

还是没明白系统怎么返回白板的

凭啥系统就能判断出我切没切线程,用没用handler.postDealy这种方式?看safeContinuation源码无非就是利用3个状态 进行cas 。咋就能分辨出是否真正切线程?是否真正的异步?是否是真正的挂起?想不通啊。老师能结合源码简单说说这里么?

正在回答 回答被采纳积分+3

1回答

bennyhuo 2022-03-03 00:33:40

block(safe) 后面还有个getOrThrow呢,你看看里面干了啥

0 回复 有任何疑惑可以回复我~
  • 提问者 慕前端9039556 #1
    看了,就是cas做的状态切换。但是想不明白这怎么做到的只有切线程的时候才返回白板。怎么做到这么智能的?
    能用伪代码举个例子简单说说吗
    回复 有任何疑惑可以回复我~ 2022-03-03 07:47:35
  • 【[Kotlin 协程] 挂起函数咋挂起?不如自挂东南枝...-哔哩哔哩】 https://b23.tv/QbASPgh
    
    【[Kotlin 协程] 谁说协程挂起一定要切线程?-哔哩哔哩】 https://b23.tv/841tj4u
    回复 有任何疑惑可以回复我~ 2022-03-03 07:52:33
  • 提问者 慕前端9039556 #3
    没问题了
    回复 有任何疑惑可以回复我~ 2022-03-03 08:42:45
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信