使用Handler实现多线程

        //创建一个Handler对象
        Handler handler=new Handler();
        //当点击某个按钮(如下载)时,调用handler的post方法把所要执行的线程对象添加到队列中

        handler.post(thread);


        handler.postDelayed(thread, 3000);
        handler.removeCallbacks(thread);
        //讲要执行的操作写在线程对象的run方法中
        Runnable thread=new Runnable() {

public void run() {

}

};

handler处理的事件和主线程其实是同一线程,因为程序只是在主程序中调用了runnable对象实例的run方法,而不是start;

bundle是一个特殊的map,它是string类型到任意类型的映射,再集合成一个类;


如何启用一个新的线程:

//生成一个HandlerThread对象,实现了使用looper处理消息队列的功能
        HandlerThread handlerThread=new HandlerThread("Handler Thread");

handlerThread.start();
        //MyHandler绑定了一个线程去处理消息队列,即handlerThread中的looper对象
        Handler MyHandler =new Handler(handlerThread.getLooper()); 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章