日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 中三种启用线程的方法

發布時間:2025/3/21 Android 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 中三种启用线程的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

多線程就是分時利用CPU,宏觀上讓所有線程一起執行 ,也叫并發
先調用start后調用run

1.start()方法來啟動線程,真正實現了多線程運行。 這時無需等待run方法體代碼執行完畢,可以直接繼續執行下面的代碼 通過調用Thread類的start()方法來啟動一個線程, 這時此線程是處于就緒狀態, 并沒有運行 然后通過此Thread類調用方法run()來完成其運行操作的 這里方法run()稱為線程體,它包含了要執行的這個線程的內容 Run方法運行結束, 此線程終止。然后CPU再調度其它線程 2.run()方法當作普通方法的方式調用 程序還是要順序執行,要等待run方法體執行完畢后,才可繼續執行下面的代碼 程序中只有主線程——這一個線程, 其程序執行路徑還是只有一條, 這樣就沒有達到寫線程的目的。

Runnable是一個接口
Thread是Runnable的子類
HandlerThread就是可以處理消息循環的線程,是一個擁有Looper的線程,可以處理消息循環
Handler是溝通Activity 與Thread/runnable的橋梁。而Handler是運行在主UI線程中的,它與子線程可以通過Message對象來傳遞數據

1,首先第一種啟用方法是通過繼承Thread類,并改寫run方法來實現一個線程
public class MyThread extends Thread { //繼承Thread類,并改寫其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); } } }

調用啟動

new MyThread().start();

運行結果:

11
2,第二種啟用方式創建一個Runnable對象
public class MyRunnable implements Runnable{ private final static String TAG = "My Runnable ===> "; @Override public void run() { // TODO Auto-generated method stub Log.d(TAG, "run"); for(int i = 0; i<1000; i++) { Log.e(TAG, Thread.currentThread().getName() + "i = " + i); } } }

調用啟動

new Thread(new MyRunnable()).start();

運行結果:

11
3, 第三種啟用方式通過Handler啟動線程
public class MainActivity extends Activity { private final static String TAG = "UOfly Android Thread ==>"; private int count = 0; private Handler mHandler = new Handler(); private Runnable mRunnable = new Runnable() { public void run() { Log.e(TAG, Thread.currentThread().getName() + " " + count); count++; setTitle("" + count); // 每3秒執行一次 mHandler.postDelayed(mRunnable, 3000); //給自己發送消息,自運行} }; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 通過Handler啟動線程 mHandler.post(mRunnable); //發送消息,啟動線程運行} @Override protected void onDestroy() { //將線程銷毀掉 mHandler.removeCallbacks(mRunnable); super.onDestroy(); } }

總結

以上是生活随笔為你收集整理的Android 中三种启用线程的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。