国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 多線程的實現方法總結

2019-10-22 18:29:48
字體:
來源:轉載
供稿:網友

Android 多線程的實例詳解

Java多線程方式

1. 繼承Thread線程,實現run方法

2. 實現Runnable接口

JAVA單繼承性,當我們想將一個已經繼承了其他類的子類放到Thread中時,單繼承的局限就體現出來了

但是可以實現多個接口,所以第二種方法相對于第一種來說靈活許多

其次,通過

new Thread(Runnable runnable).start() 

啟動線程的方式,若變量在runnable中定義,多個線程可以共用,因為來自同一個對象

比較適合多個相同程序代碼的線程去處理同一資源的情況

Android多線程方式

主要集中在UI線程和其他線程的交互問題上

1. Thread,Handler,Message
2. AsyncTask
3. Runnable

第一種方式,new Thread()然后通過Handler sendMessage,由Handler的handleMessage方法實現對應的處理,完成與UI進程的交互

private Handler mHandler = new Handler(){  public void handleMessage(Message msg) {    /*do sth through msg */  }}public BadThread extends Thread {  private final static String TAG = this.getClass().getName();  public void run() {    /*coding*/  }};new BadThread().start();

第二種方式,異步線程的方式,doInBackground()中執行任務,onPreExecute()準備工作,onPostExecute()任務結束后調用,onProgressUpdate與publishProgress配合使用,實現和UI線程的交互

AsyncTask mLoadingTask = new AsyncTask(){  protected Object doInBackground(Object[] objects) {  }  protected void onProgressUpdate(Object[] values) {  }  ......}mLoadingTask.execute();

第三種方式,Runnable對象,通過Handler直接Post等方法啟動線程,實現與UI線程的交互

private Runnable mRunnable = new Runnable(){  public void run() {     /*do sth*/  }}mHandler.post(mRunnable);

以上就是Android 多線程實現的三種方法,如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 道孚县| 专栏| 广元市| 合江县| 弥勒县| 靖安县| 巍山| 府谷县| 迁西县| 绥滨县| 承德市| 清水河县| 邹城市| 昌宁县| 沙洋县| 额尔古纳市| 卢氏县| 云和县| 类乌齐县| 蕲春县| 云梦县| 西平县| 边坝县| 广平县| 栾城县| 朝阳市| 乌审旗| 北宁市| 河津市| 景谷| 宝清县| 神木县| 崇明县| 凤阳县| 靖宇县| 惠州市| 景泰县| 长沙市| 安宁市| 江川县| 龙门县|