首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >线程、UI线程、工作线程、异步任务

线程、UI线程、工作线程、异步任务
EN

Stack Overflow用户
提问于 2014-04-04 12:38:13
回答 3查看 730关注 0票数 4

当我试图理解Android中的ProcessesThreads概念时,我感到困惑。下面我提几个问题。也许这些都是愚蠢的问题,但请帮助我回答这些问题,澄清我的疑虑。

1)如果我创建一个线程,它将在哪里运行?在Main(UI) Thread

2)如果我创建的线程作为辅助Thread在后台运行,那么AsyncTask的用途是什么(我的意思是说它比线程更好)?

3)我们可以在AsyncTask中创建线程吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-04-04 12:44:09

代码语言:javascript
复制
 1. If i create a thread where it will run? in Main(UI) thread/Worker Thread?

它将在工作线程中运行,而不是在主线程中运行。

代码语言:javascript
复制
2.If my created thread runs on worker `Thread` then what is the use of `AsyncTask` (I mean how it is better than thread)?

AsyncTask用于与主要的Thread..For示例进行通信,您正在从internet下载文件,因此在这里您需要更新Activity..for中的下载进度,这个AsyncTask更适合。您将使用onProgressUpdate() method.So更新Ui,您可以轻松地与UI线程通信。

代码语言:javascript
复制
 3)Can we create a thread in Async task?

是的,您可以创建它,但是它是无用的,因为AsyncTask有一个已经在不同的Thread中运行的doInBackGround()方法,所以不需要在AsyncTask中创建一个新的Thread

票数 7
EN

Stack Overflow用户

发布于 2014-04-04 12:43:35

  1. 如果您要在活动中创建一个线程。它将作为一个单独的线程运行。默认情况下,UI中运行的活动thread.It也称为主线程。
  2. 异步任务只不过是一个工作线程,用于运行不会阻塞UI线程的反向操作。下载一个文件。
  3. 同步任务本身是一个分离线程,它有自己的生命周期。
票数 6
EN

Stack Overflow用户

发布于 2014-04-04 12:47:38

1)它将作为工作线程运行,而不是在UI线程上运行。

2)异步任务为您提供了在任务完成之前或之后执行某些内容的可能性。在从internet连接或类似操作中获取数据后必须更新UI值时,尤其有用。对于进步对话也很有用。它是类的一种类型(扩展AsyncTask),所以它有更多的结构,而不是仅仅启动一个线程。

3)不,你可以。这是否对你非常有用,是一个完全不同的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22863052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档