博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android笔记--关于Android多线程-02
阅读量:4101 次
发布时间:2019-05-25

本文共 1941 字,大约阅读时间需要 6 分钟。

多线程的使用

//规范用法  private Handler handler = new Handler();    private void delayDestroy() {
handler.postDelayed(runnable, 2000); } public Runnable runnable = new Runnable() {
@Override public void run() {
finish(); } }; //关闭此定时器        handler.removeCallbacks(runnable);

斜体样式继承Thread类 和 实现Runnable接口

在这里插入图片描述

继承Thread类

// 1:创建线程类 (继承自Thread类)   class MyThread extends Thread{
// 2:复写run() @Override public void run(){
... // 定义的线程需要进行的操作 }}// 3:创建线程对象,即 实例化线程类 //MyThread myThread = new MyThread(); MyThread myThread = new MyThread(“线程名称”);// 4:通过线程对象控制线程的状态,如 运行、睡眠、挂起 / 停止// 调用 start()开启线程 myThread.start();
//使用匿名内部类 new Thread("线程名称") {
// 复写run() @Override public void run() {
//定义的线程需要进行的操作 // 通过 线程对象 控制线程的状态,如 运行、睡眠 、 停止 如Thread.sleep(); }.start();

继承Thread类实现多线程的优缺点:

优点:使用简单

缺点:
存在局限性,必须要继承Thread类,java是单继承的,继承了一个没法在继承另一个;
不合适资源之间的共享:一个线程就是一个实例对象,他们之间是相互独立的
消耗资源;

实现Runnable接口

// 创建线程辅助类,实现Runnable接口 class MyThread implements Runnable{
.... @Override// 复写run() public void run(){
//线程操作 }}// 创建线程辅助对象,即 实例化 线程辅助类 MyThread mThread=new MyThread();/* 创建线程对象,即 实例化线程类;线程类 = Thread类; 创建时通过Thread类的构造函数传入线程辅助类对象 原因:Runnable接口并没有任何对线程的支持,我们必须创建线程类(Thread类)的实例,从Thread类的一个实例内部运行*/ Thread td=new Thread(mThread);// 通过 线程对象 控制线程的状态,如 运行、睡眠、挂起 / 停止// 当调用start()方法时,线程对象会自动回调线程辅助类对象的run(),从而实现线程操作 td.start();
//匿名内部类    Runnable mt = new Runnable() {
// 复写run() @Override public void run() {
//线程操作 } }; // 创建线程对象,即 实例化线程类;线程类 = Thread类; Thread mt1 = new Thread(mt, "线程1"); // 通过 线程对象 控制线程的状态,如 运行、睡眠、挂起 / 停止 mt1.start();

参考文章:

转载地址:http://ihrii.baihongyu.com/

你可能感兴趣的文章
单列模式-编写类ConfigManager读取属性文件
查看>>
java中float和double的区别
查看>>
Statement与PreparedStatement区别
查看>>
Tomcat配置数据源步骤以及使用JNDI
查看>>
before start of result set 是什么错误
查看>>
(正则表达式)表单验证
查看>>
在JS中 onclick="save();return false;"return false是
查看>>
JSTL 常用标签总结
查看>>
内容里面带标签,在HTML显示问题,JSTL
查看>>
VS编译器运行后闪退,处理方法
查看>>
用div+css做下拉菜单,当鼠标移向2级菜单时,为什么1级菜单的a:hover背景色就不管用了?
查看>>
idea 有时提示找不到类或者符号
查看>>
JS遍历的多种方式
查看>>
ng-class的几种用法
查看>>
node入门demo-Ajax让前端angularjs/jquery与后台node.js交互,技术支持:mysql+html+angularjs/jquery
查看>>
神经网络--单层感知器
查看>>
注册表修改DOS的编码页为utf-8
查看>>
matplotlib.pyplot.plot()参数详解
查看>>
拉格朗日对偶问题详解
查看>>
MFC矩阵运算
查看>>