Android线程thread两种方式

作者: 洪生鹏 | 来源:发表于2016-06-18 19:11 被阅读455次

本文适合新手。

在Android中实现线程thread的两种方式:

  1. 扩展Java.lang.Thread类 (其中Thread类代表线程类, run(),包 含线程运行时所执行的代码;Start(),用于启动线程)

  2. 实现Runnable接口

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

下面我们来看这两种方式代码如何写:

  1. 扩展Java.lang.Thread类,把run()方法写到线程里
public Handler mHandler=new Handler()  
    {  
        public void handleMessage(Message msg)  
        {  
            switch(msg.what)  
            {  
            case 1:  
                Log.e("","load"); 
                break;  
            default:  
                break;        
            }  
            super.handleMessage(msg);  
        }  
    };  
Thread thread=new Thread(new Runnable()  
        {  
            @Override  
            public void run()  
            {  
                Message message=new Message();  
                message.what=1;  
                mHandler.sendMessage(message);  
            }  
        });  
 thread.start();  
  1. 实现Runnable接口
 public class AikaifaActivity extends Activity implements Runnable  
{  
    public Handler mHandler=new Handler()  
    {  
        public void handleMessage(Message msg)  
        {  
            switch(msg.what)  
            {  
            case 1:  
                Log.e("","load"); 
                break;  
            default:  
                break;            
            }  
            my_layout.invalidate();  
            super.handleMessage(msg);  
        }  
    };  
    @Override  
    public void onCreate(Bundle savedInstanceState)  
    {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        Thread thread=new Thread(this);  
        thread.start();  
    }  
    @Override  
    public void run()  
    {  
        Message message=new Message();  
        message.what=1;  
        mHandler.sendMessage(message);  
    }  
}  

这样关于Android线程thread两种方式就算简单介绍完毕!

相关文章

网友评论

    本文标题:Android线程thread两种方式

    本文链接:https://www.haomeiwen.com/subject/dnqbdttx.html