znl_12 2013-02-21 08:46 采纳率: 0%
浏览 2083
已采纳

在哪个线程中运行 AsyncTask?

应用程序的 AlertDialog.Builder(context) 中有下面的代码。问题是在哪个线程中运行呢?

final Thread myPrettyOperation = new Thread() {
    @Override
    public void run() {
        //Do some really long operation.
    }
};
class MyPrettyTask extends
        AsyncTask<Void, Integer, Boolean> {
    protected Boolean doInBackground(
            Void... voids) {
        myPrettyOperation.start();
        return true;
    }
    protected void onProgressUpdate(
            Integer... progress) {
    }
    protected void onPostExecute(Boolean result) {
    }
}
new MyPrettyTask().execute();
  • 写回答

2条回答 默认 最新

  • nana4ever 2013-02-21 09:51
    关注

    运行应用程序,然后检查 logcat 输出。线程名分别是 "Thread1:", "Thread2:", "Thread3:",当你在输出中看见 "main" ,就是指你的 UI 线程。在其它情况下,你会看见线程的名字,例如: 是 myPrettyOperation 里是"Thread14"。

     final Thread myPrettyOperation = new Thread() {
        @Override
        public void run() {
            Log.i("YOUR_TAG", "Thread1: "+ Thread.currentThread().getName()); 
            //Do some really long operation.
        }
    };
    class MyPrettyTask extends
            AsyncTask<Void, Integer, Boolean> {
        protected Boolean doInBackground(
                Void... voids) {
            Log.i("YOUR_TAG", "Thread2: "+ Thread.currentThread().getName()); 
            myPrettyOperation.start();
            return true;
        }
        protected void onProgressUpdate(
                Integer... progress) {
        }
        protected void onPostExecute(Boolean result) {
        }
    }
    new MyPrettyTask().execute();
    Log.i("YOUR_TAG", "Thread3: "+ Thread.currentThread().getName()); 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 vb net 使用 sendMessage 如何输入鼠标坐标
  • ¥200 求能开发抖音自动回复卡片的软件
  • ¥15 关于freesurfer使用freeview可视化的问题
  • ¥100 谁能在荣耀自带系统MagicOS版本下,隐藏手机桌面图标?
  • ¥15 求SC-LIWC词典!
  • ¥20 有关esp8266连接阿里云
  • ¥15 C# 调用Bartender打印机打印
  • ¥15 我这个代码哪里有问题 acm 平台上显示错误 90%,我自己运行好像没什么问题
  • ¥50 C#编程中使用printDocument类实现文字排版打印问题
  • ¥15 找会编程的帅哥美女 可以用MATLAB里面的simulink编程,用Keil5编也可以。