【问题标题】:order of asynctask calling a function from a referenced classasynctask 从引用的类调用函数的顺序
【发布时间】:2017-02-08 20:27:44
【问题描述】:

我正在编写一个 Android 应用程序,并且在使用 AsyncTasks 时想知道一些事情。我有一个协调网络请求的类,并且应该设法一次只有一个 AsyncTasks。因此,如果我有多个 AsyncTasks 对 managerClass 具有相同的引用并且它们同时调用不同的函数 - >是那些函数一次执行一个,还是可能会发生第一个函数的部分被执行,然后是部分函数第二个函数在第一个函数没有完成的情况下执行?

【问题讨论】:

  • 您无法保证它们何时发生。第一个部分 > 第二个 > 第一个结尾是可能的。

标签: java android android-asynctask


【解决方案1】:

如果您使用 AsyncTasks- 只要您调用 execute 而不是 executeOnExecutor,每个 AsyncTask 将在同一个线程上一个接一个地运行。因此,只要 UI 线程不访问该管理器类,您就是安全的。但实际上,您可能应该学习如何进行锁定并在必要时创建关键区域。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-09
    • 2014-01-28
    • 2014-06-20
    • 1970-01-01
    • 2017-12-14
    相关资源
    最近更新 更多