Thread的两种实现方法
来源:互联网 发布:现货数据行情分析系统 编辑:程序博客网 时间:2024/05/16 17:26
一:
在Android中有两种实现线程thread的方法:
一种是,扩展Java.lang.Thread类
另一种是,实现Runnable接口
二:
Thread类代表线程类,它的两个最主要的方法是:
run()——包含线程运行时所执行的代码
Start()——用于启动线程
三:
Handler 机制,它是Runnable和Activity交互的桥梁,在run方法中发送Message,在Handler里,通过不同的Message执行不同的任务。
(Handler的设计实际上是为了应用程序内其他线程和主线程进行通信,因为只有主线程才能更新UI,其他线程不行)
下面分别给出两种线程的实现方法,其一,扩展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);
- }
- }
0 0
- Thread的两种实现方法
- Android 线程 thread 两种实现方法!
- Android 线程 thread 两种实现方法!
- Android 线程 thread 两种实现方法!
- Android 线程 thread 两种实现方法!
- Android 线程 thread 两种实现方法!
- Android 线程 thread 两种实现方法
- Android 线程 thread 两种实现方法!
- Thread 两种实现方式的区别
- JAVA 线程的两种基本实现方法(继承Thread类和实现Runnable接口)
- 实现多线程的两种方法:继承Thread类或实现Runnable接口
- 实现Thread类的两种方法(继承和实现runnable接口)
- JAVA中创建线程对象的两种方法:继承Thread和实现Runable
- java创建多线程的两种方法(继承Thread类/实现Runnable接口)
- 创建Thread对象的两种常见的方法分析
- 实现多线程的两种方式Runnable与Thread
- 线程 创建和启动线程的两种方式 实现Runnable接口 继承Thread类 重写唯一方法run()
- java两种启动线程方法根本不同,Thread继承和实现Runable接口
- 数据结构应用:利用栈破解迷宫游戏
- Linux Terminal 缩短命令行提示符
- c++数据结构之广义表
- 简单堆的创建和操作
- linux入门(一)
- Thread的两种实现方法
- 堆的简单应用
- linux入门(二):find指令的用法
- msp430f5310定时器的认识
- 一步一步理解GB、GBDT、xgboost
- 机器学习中的维数灾难
- 大话设计模式-第04章 考研求职两不误-开放封闭原则
- Hibernate对与Oracle中Clob类型的使用
- 归并排序