Androidの多线程之HandlerThread

1.Handler.post(Runnable),必须要有有Looper。

 1 package com.bvin.study.thread;
 2 
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.os.Handler;
 6 import android.os.HandlerThread;
 7 import android.os.Looper;
 8 import android.os.Message;
 9 import android.util.Log;
10 
11 public class MainActivity extends Activity {
12     /** Called when the activity is first created. */
13     
14     /*private Handler handler = new Handler(){
15 
16         @Override
17         public void handleMessage(Message msg) {
18             // TODO Auto-generated method stub
19             super.handleMessage(msg);
20             setTitle((String)msg.obj);
21             
22         }
23         
24         
25         
26     };*/
27     private Handler handler = null;
28     
29     public int flag = 0;
30     @Override
31     public void onCreate(Bundle savedInstanceState) {
32         super.onCreate(savedInstanceState);
33         /*Handler+HandlerThread*/
34         HandlerThread handerThread = new HandlerThread("myHanderThread");//建立HandlerThread
35         handerThread.start();//运行HandlerThread(一定要开始才能获取Looper.否则得到是空值)
36         Looper looper = handerThread.getLooper();//获取消息循环
37         handler = new Handler(handerThread.getLooper());//建立带消息循环的Handler
38         handler.post(new WorkRun());//执行线程
39         
40         /*Thread+Runnable*/
41         /*Thread th = new Thread(new WorkRun());
42         th.start();*/
43         
44         Log.e("ID:"+Thread.currentThread().getId(), "MainThread is running");
45         setContentView(R.layout.main);
46         
47     }
48     
49     
50     private class WorkRun implements Runnable{
51 
52         @Override
53         public void run() {
54             // TODO Auto-generated method stub
55             
56             Log.e("ID:"+Thread.currentThread().getId(), "WorkThread is running");
57             
58             try {
59                 Thread.sleep(1000*6);
60             } catch (InterruptedException e) {
61                 // TODO Auto-generated catch block
62                 e.printStackTrace();
63             }
64             
65         }
66         
67         
68         
69     }
70 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值