为了账号安全,请及时绑定邮箱和手机立即绑定

如下图展示,请问在同一个异步任务内的异步任务能不能并发?

如下图展示,请问在同一个异步任务内的异步任务能不能并发?

慕莱坞森 2023-03-18 17:13:04
最后的LoadPicAsync().excute()是三个同一时间执行,还是执行了Load1Async中的再依次执行?如果是依次执行,请修改代码,如何让这三个LoadPicAsync()同步执行。现在的代码我打印Log发现是执行了Load1Async()中所有的LoadPicAsync(),再执行Load2Async()中的LoadPicAsync();而我需要的是,三个在Load1Async(),Load2Async(),Load3Async()的OnPostExcute()里面的LoadPicAsync(),同时异步执行。
查看完整描述

1 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

是三个线程同时运行还是依次运行,从你给的代码看不出来,要看excute()方法里线程类用的是哪个方法,如果是用.start()方法就是同时运行,如果用run()方法则依次运行。
不过用start()方法,那三个线程就和主线程是并行运行,可能产生你的Load1Async Load2Async Load3Async 没有运行完就去运行LoadPicAsync()了。如果LoadPicAsync()离需要用到Load1Async返回的对象,就一定要等Load1Async Load2Async Load3Async是否都运行完了,再运行LoadPicAsync()。

查看完整回答
反对 回复 2023-03-20
  • 1 回答
  • 0 关注
  • 104 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号