Android 中三种启用线程的方法
生活随笔
收集整理的這篇文章主要介紹了
Android 中三种启用线程的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
多線程就是分時利用CPU,宏觀上讓所有線程一起執行 ,也叫并發
先調用start后調用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();運行結果:
112,第二種啟用方式創建一個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();運行結果:
113, 第三種啟用方式通過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 中三种启用线程的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: System.currentTimeMi
- 下一篇: 在Android中实现监听 返回键,主键