多线程(一):定义,使用

1. 程序、进程和线程

程序是一个静态概念;进程是“程序”的一个运行实例;线程是一种轻量级进程,大多是情况下用于执行异步操作。线程是CPU调度的基本单位

相互关系:Android程序开始启动时,会单独启动一个进程,同时产生一个UIThread(Main线程)。

     一个程序默认情况下只有一个Process,一个Process可以有多个Thread。

 

2.  Where使用线程

(1)异步操作

(2)四大组件在main线程中运行,相互阻塞;或者在服务中执行长时间操作,如网络服务,上传文件等;

 

3. 开启线程方法:

(1)自定义线程类MyThread:继承Thread类,并改写run() 方法来实现一个线程

new MyThread().start();

(2)自定义类MyRunnable实现Runnable,  

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

(3)通过Handler启动线程:

 public class MainActivity extends Activity{

  private final static String TAG = “Android Thread … ”;

   private Handler mHandler = new Handler();

  private int count;

  private Runnable mRunnable = new Runnable(){

    @override

    public void run(){

      Log.e(TAG, Thread.currentThread().getName() + “ count = ”+count);

      count++;

      setTitle(String.valueOf(count));

      mHandler.postDelay(mRunnable, 3000); // 延迟3秒,发送消息

    }

  };

 

   @override

  public void onCreate(Bundle saveInstanceState){

     super.onCreate(saveInstanceState);

    setContentView(R.layout.main);

    mHandler.post(mRunnable); // 发送消息,启动线程运行。

  }

  @override

  public void onDestroy(){

    // 将线程销毁掉

    mHandler.removeCallbacks(mRunnable);

    super.onDestroy();

}

 

posted @ 2017-08-10 11:13  风之承  阅读(170)  评论(0编辑  收藏  举报