是否可以实现嵌套线程?我遇到了需要在线程内调用线程的情况。我也有其他选择,比如在同一个线程中实现所有方法,但它变得太乱了。该项目中途将由其他人接管,因此其他人可能很难将所有内容整合在一起。
同样建议在一个线程内调用多个线程(出于与上述相同的原因)。
它会以任何方式影响性能(逻辑上,它应该会提高性能,因为该软件适用于双核设备)??
答案 0 :(得分:0)
创建新线程会让您处理起来更麻烦,所以我建议您不要仅为了分离事物而手动创建新线程。
如果您希望在主UI线程之外进行相当不同的工作,则有easier ways of dealing with threading。考虑将它们放入AsyncTask
中,如果要同时运行多个任务,可以确保它们运行的执行程序具有大于一个的线程池大小。
如果没有更详细的问题,很难确切地说出正确的方法是什么。
答案 1 :(得分:0)
在从@kabuko,@ Foxical Logic得到答案并做了一些研究后,我发现使用AsyncTask实际上不可能实现嵌套线程,因为AsyncTask需要在UI线程中执行。
但是,我试图通过以下方式实现:
在初始UI线程中,调用不同的多个AsyncTask来执行。
示例:
protected void onCreate(Bundle savedInstanceState){.....
DownloadUpdates.execute(FILEID); // AsyncTask#1
UpdateNotification.execute(); // AsyncTask#2
...}
注意(如文档here中所示):
单个任务只能执行一次(将抛出异常 如果尝试第二次执行)