使用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()); 


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