`

通过Runnable来实现普通线程和Handler

 
阅读更多

package com.andli.handlerandthread;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;

public class HandlerAndThreadDemo extends Activity {
	private String tag = "andli";

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		Log.i(tag, "---------------Main------------------");
		Log.i(tag, "Thread_ID=" + Thread.currentThread().getId());
		Log.i(tag, "Thread_Name=" + Thread.currentThread().getName());

		Handler handler = new Handler();
		Log.i(tag, "--------------Handler_Thread----------");
		handler.post(runnable);

		Log.i(tag, "---------------Thread------------------");
		Thread thread = new Thread(runnable);
		thread.start();

	}

	Runnable runnable = new Runnable() {
		public void run() {
			Log.i(tag, "Thread_ID=" + Thread.currentThread().getId());
			Log.i(tag, "Thread_Name=" + Thread.currentThread().getName());
		}
	};
}
 
分享到:
评论

相关推荐

    android 更新 UI 线程 handler

    简单实现更新UI的操作,仅供学习参考 这里用到handler类,runnable类,按钮的点击事件

    Android 中三种启用线程的方法总结

    首先说明Android的CPU分配的最小单元是线程,Handler一般是在某个线程里创建的,因而Handler和Thread就是相互绑定的,一一对应。 而Runnable是一个接口,Thread是Runnable的子类。所以说,他俩都算一个进程。 ...

    Handler与Android多线程详解

    //使用匿名内部类创建一个线程myThreadRunnable mythread = new Runnable() {public void run() {}};一开始,相信很多人都以为myThread中的run()方法会在一个新的线程中运行,但事实并非如此。 上述代码中的handler...

    Android Handler Looper Message 使用示例

    在主线程即UI线程外,新建一个Looper线程,并用Messenger和Handler来处理message和posted runnable。程序中,在负线程中默认加了一个3s的线程等来,来帮助理解sent message和post runnable之间的同步机制。所以在按...

    Android单线程模型中Message、Handler、Message Queue、Looper之间的关系---附实例源码

    消息的类型,在Handler类中的handleMessage方法中得到单个的消息进行处理,在单线程模型下,为了线程通信问题,Android设计了一个Message Queue(消息队列), 线程间可以通过该Message Queue并结合Handler和Looper组件...

    Android定时器实现的几种方式整理及removeCallbacks失效问题解决

    实现定时器有很多种方式,在这里我简单的介绍几种方式 (1)使用Handler + Runnable的方式 代码如下: Handler handler = new Handler(); Runnable runnable = new Runnable() { @Override public void run() { //你要...

    swt-async-handler-1.0

    通过向handler发送消息,handler接受到消息以后响应消息。 你需要做的就是,在异步线程中执行你的一部操作,当异步线程结束以后需要向handler发送一个消息;同时,你必须复写handler的handleMessage方法。 当handler...

    android线程消息机制之Handler详解

    平常在开发中,我们常用来在子线程中通知主线程来更新,其实整个安卓生命周期的驱动都是通过Handler(ActivityThread.H)来实现的。 首先我们先介绍这四个类的作用: Handler:消息的发送者。负责将Message消息发送到...

    使用handler 实现预约时间功能

    Handler是Android系统中处理定时操作的核心类。Handler 类主要通过三个方法来执行线程运行接口Runnable的时间

    Android多线程处理机制中的Handler使用介绍

    Handler可以发送Messsage和Runnable对象到与其相关联的线程的消息队列。每个Handler对象与创建它的线程相关联,并且每个Handler对象只能与一个线程相关联。 Handler一般有两种用途:1)执行计划任务,你可以再预定的...

    Android:Handler的post()方法和Thread的start()方法执行Thread的run()方法的区别

    * 创建一个Handler对象,使用Handler对象h把Runnable的对象r压入队列 * 此时只会会执行Run()方法,但是不会开启新的线程 */ //Handler h = new Handler(); //h.post(r); /* * 在java中真正开启...

    Android 线程thread的两种实现方法(必看)

    三: Handler 机制,它是Runnable和Activity交互的桥梁,在run方法中发送Message,在Handler里,通过不同的Message执行不同的任务。 下面分别给出两种线程的实现方法,其一,扩展java.lang.Thread类,也就是把run()...

    Android Handler的作用与用法

    1.什么是handler? Handler是Android SDK来处理异步消息的核心类。...可以通过Handler将Message和Runnable对象发送到该Handler所关联线程的MessageQueue(消息队列)中,然后该消息队列一直在循环拿出一个Message,对其

    Thread、Handler和HandlerThread关系详解

    前几天看到一道面试题:Thread、Handler和HandlerThread有什么区别?,这个题目有点意思,对于很多人来说,可能对Thread和Handler很熟悉,主要涉及到Android的消息机制(Handler、Message、Looper、MessageQueue),...

    【面试】可以在子线程直接new一个Handler吗?怎么做?

    可以在子线程直接new一个Handler,不过需要在子线程里先调用Looper.prepare(),new一个Handler后,还需要调用Looper.loop()方法。 new Thread(new Runnable() { @Override public void run() { Looper.prepare()...

    android 中定时器的3个实现方法(均测试通过)

    android 中定时器的3个实现方法(均测试通过) 一、采用Handler与线程的sleep(long)方法 二、采用Handler的postDelayed(Runnable, long)方法 三、采用Handler与timer及TimerTask结合的方法

    Android 多线程的实现方法总结

    Android 多线程的实例详解 Java多线程方式 1. 继承Thread线程,实现run方法 2. 实现Runnable接口 JAVA单继承性,当我们想将一个已经继承了其他类的子类放到Thread中时,单继承的局限就...主要集中在UI线程和其他线

    Android中子线程和UI线程通信详解

    Android中子线程和UI线程之间通信的详细解释 1.在多线程编程这块,我们经常要使用Handler,Thread和...而Handler是运行在主UI线程中的,它与子线程可以通过Message对象来传递数据。 (2).使用: A:Handler是运行在U

    第7章-JUC多线程v1.1.pdf

    MaximunPoolSize: 线程池能创建最大的线程数量, 如果核心线程池和缓冲队列都已经满了, 新的任务就会进来创建新的线程来执行, 但是数量不能超过maximunPoolSize, 否则采取拒绝接受任务策略 KeepAliveTime: 非核心...

    android开发教程之子线程中更新界面

    每个Handler对象与创建它的线程相关联,并且每个Handler对象只能与一个线程相关联。Handler一般有两种用途:1)执行计划任务,你可以再...通过Runnable在子线程中更新界面的例子 在onCreate中创建Handler 代码如下:p

Global site tag (gtag.js) - Google Analytics