Java中多线程:

  http://www.cnblogs.com/NeilZhang/p/6831636.html

开辟子线程,同时在子线程中发送消息,在主线程中处理消息。 

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
                 handler0 = new Handler(){
                @Override
                public void handleMessage(Message msg) {
                    super.handleMessage(msg);
                    doSomeThing();
                }
        };
        new myThread().start();
    }

    public class myThread extends Thread{
        @Override
        public void run() {
            super.run();
            Looper.prepare();    
            Message mss = new Message();
            mss.obj = "test in handler";
            Log.d(TAG, "run: "+Thread.currentThread().getId());
            handler0.sendMessage(mss);
            Looper.loop();
        }
    }

另一种写法是:在MyThread中初始化handler0,增加 Looper.prepare() 和 Loop.loop();

   public class myThread extends Thread{
        @Override
        public void run() {
            super.run();
            Looper.prepare();
            handler0 = new Handler(){
                @Override
                public void handleMessage(Message msg) {
                    super.handleMessage(msg);
                    Log.d(TAG, "handleMessage: in myThread"+msg+"   "+Thread.currentThread().getId());
                }
            };
            Message mss = new Message();
            mss.obj = "test in handler";
            Log.d(TAG, "run: "+Thread.currentThread().getId());
            handler0.sendMessage(mss);
            Looper.loop();
        }
    }
View Code

相关文章:

  • 2021-12-21
  • 2021-08-10
  • 2022-12-23
  • 2021-09-24
  • 2022-12-23
  • 2021-12-25
  • 2021-09-05
  • 2021-09-05
猜你喜欢
  • 2021-06-20
  • 2021-11-29
  • 2022-02-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案