在多線程編程這塊,我們經(jīng)常要使用Handler(處理),Thread(線程)和Runnable這三個(gè)類,那么他們之間的關(guān)系你是否弄清楚了呢?
公司主營(yíng)業(yè)務(wù):網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出玉州免費(fèi)做網(wǎng)站回饋大家。首先說(shuō)明Android的CPU分配的最小單元是線程,Handler一般是在某個(gè)線程里創(chuàng)建的,因而Handler和Thread就是相互綁定的,一一對(duì)應(yīng)。
而Runnable是一個(gè)接口,Thread是Runnable的子類。所以說(shuō),他倆都算一個(gè)進(jìn)程。
HandlerThread顧名思義就是可以處理消息循環(huán)的線程,他是一個(gè)擁有Looper的線程,可以處理消息循環(huán)。
與其說(shuō)Handler和一個(gè)線程綁定,不如說(shuō)Handler是和Looper一一對(duì)應(yīng)的。
Handler是溝通Activity 與Thread/runnable的橋梁。而Handler是運(yùn)行在主UI線程中的,它與子線程可以通過(guò)Message對(duì)象來(lái)傳遞數(shù)據(jù)
1、首先第一種啟用方法是通過(guò)繼承Thread類,并改寫(xiě)run方法來(lái)實(shí)現(xiàn)一個(gè)線程
public class MyThread extends Thread { //繼承Thread類,并改寫(xiě)其run方法 private final static String TAG = "My Thread ===> "; public void run(){ Log.d(TAG, "run"); for(int i = 0; i<100; i++) { Log.e(TAG, Thread.currentThread().getName() + "i = " + i); } } }