Delphi中ITask.ExecuteWork在移动设备上未等待任务完成问题咨询
关于Delphi TTask.ExecuteWork跨平台阻塞行为的问题
以下是我编写的代码:
fTask: ITask; fTask := TTask.Create( procedure begin while not True do Application.ProcessMessages; TThread.Synchronize(TThread.Current, procedure begin // 更新UI end); end); fTask.ExecuteWork; // 原本预期会阻塞直到fTask完成!
这段代码里,fTask.ExecuteWork在Windows平台会阻塞直至任务完成,但在Android平台却不会等待任务结束。
我的疑虑
- Delphi在Android和iOS设备上不支持后台线程!
问题推测
如果确实存在上述问题,我认为可能是系统层面的限制导致,或是Firemonkey单主Activity的架构不支持多Activity所引发的。
我有一个使用ExecuteWork方法的GitHub仓库(Wait),或许能帮助理解我的问题,不过该仓库尚未完成。
内容的提问来源于stack exchange,提问作者Bravesaw
相关产品推荐
相关产品推荐

