首页 > 系统 > Android > 正文

Android 线程 thread 两种实现方法

2019-11-09 18:38:19
字体:
来源:转载
供稿:网友

原文链接: http://blog.csdn.net/boyupeng/article/details/6208072

这篇文章中有三点需要提前说明一下,

 

一:

在android中有两种实现线程thread的方法:

一种是,扩展java.lang.Thread类 另一种是,实现Runnable接口

 

二:Thread类代表线程类,它的两个最主要的方法是: run()——包含线程运行时所执行的代码 Start()——用于启动线程

 

三: 

Handler 机制,它是Runnable和Activity交互的桥梁,在run方法中发送Message,在Handler里,通过不同的Message执行不同的任务。

 

下面分别给出两种线程的实现方法,其一,扩展java.lang.Thread类,也就是把run()方法写到线程里面:

 

package com.my;  import android.app.Activity;  import android.os.Bundle;  import android.os.Handler;  import android.os.Message;  import android.util.Log;  import android.view.View;  import android.view.View.OnClickListener;  import android.widget.Button;  public class Demo_For_Copy extends Activity  {      public Button button;            public Handler mHandler=new Handler()      {          public void handleMessage(Message msg)          {              switch(msg.what)              {              case 1:                  button.setText(R.string.text2);                  break;              default:                  break;                    }              super.handleMessage(msg);          }      };            /** Called when the activity is first created. */      @Override      public void onCreate(Bundle savedInstanceState)      {          super.onCreate(savedInstanceState);          setContentView(R.layout.main);          button=(Button)findViewById(R.id.button);            Thread thread=new Thread(new Runnable()          {              @Override              public void run()              {                  Log.e("1111", "111111111");                  // TODO Auto-generated method stub                  Message message=new Message();                  message.what=1;                  mHandler.sendMessage(message);              }          });          thread.start();      }  }  

 

 

 

其二,实现Runnable接口,让类实现Runnable接口,然后把run方法单独提出来:

 

package com.my;  import android.app.Activity;  import android.os.Bundle;  import android.os.Handler;  import android.os.Message;  import android.util.Log;  import android.view.View;  import android.view.View.OnClickListener;  import android.widget.Button;  import android.widget.LinearLayout;  public class Title_Change_Demo extends Activity implements Runnable  {      public Button button;      public LinearLayout my_layout;            public Handler mHandler=new Handler()      {          public void handleMessage(Message msg)          {              switch(msg.what)              {              case 1:                  button.setText(R.string.text2);                  break;              default:                  break;                        }              my_layout.invalidate();              super.handleMessage(msg);          }      };            /** Called when the activity is first created. */      @Override      public void onCreate(Bundle savedInstanceState)      {          super.onCreate(savedInstanceState);          setContentView(R.layout.main);                    button=(Button)findViewById(R.id.button);          my_layout=(LinearLayout)findViewById(R.id.my_layout);                    Thread thread=new Thread(this);          thread.start();      }            @Override      public void run()      {          Log.e("ok", "111111111");          // TODO Auto-generated method stub          Message message=new Message();          message.what=1;          mHandler.sendMessage(message);      }  }  
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表