java启动线程的3种方式对比分析
作者:野比大雄-蜗牛 发布时间:2023-12-17 08:38:41
标签:java,启动线程
本文实例为大家分享了java启动线程的方法,供大家参考,具体内容如下
1.继承Thread
public class java_thread extends Thread{
public static void main(String args[])
{
(new java_thread()).run();
System.out.println("main thread run ");
}
public synchronized void run()
{
System.out.println("sub thread run ");
}
}
2.实现Runnable接口
public class java_thread implements Runnable{
public static void main(String args[])
{
(new Thread(new java_thread())).start();
System.out.println("main thread run ");
}
public void run()
{
System.out.println("sub thread run ");
}
}
3.直接在函数体使用
void java_thread()
{
Thread t = new Thread(new Runnable(){
public void run(){
mSoundPoolMap.put(index, mSoundPool.load(filePath, index));
getThis().LoadMediaComplete();
}});
t.start();
}
4.比较:
实现Runnable接口优势:
1)适合多个相同的程序代码的线程去处理同一个资源
2)可以避免Java中的单继承的限制
3)增加程序的健壮性,代码可以被多个线程共享,代码和数据独立。
继承Thread类优势:
1)可以将线程类抽象出来,当需要使用抽象工厂模式设计时。
2)多线程同步
在函数体使用优势
1)无需继承thread或者实现Runnable,缩小作用域。


猜你喜欢
- 本文主要介绍android应用android系统中剪切板进行数据的传递,首先讲解的是传递简单数据,然后讲解传递对象类型的数据。所有实例均在a
- 大家可能在做app的时候,或多或少需要使用联系人,而根据google提供的api,你需要编写大量的代码,例如首先需要查询数据库,涉及到数据库
- 本文实例讲述了Android实现在一个activity中添加多个listview的方法。分享给大家供大家参考,具体如下:listview的i
- 在实际的项目开发过中,当我们修改了某个java类文件时,需要手动重新编译、然后重新启动程序的,整个过程比较麻烦,特别是项目启动慢的时候,更是
- 本文实例讲述了Android编程实现的一键锁屏程序。分享给大家供大家参考,具体如下:据笔者了解,所有的Android手机都用电源键来手动锁屏
- java 中 System.out.println()和System.out.write()的区别.这两个函数一个是System
- 简介Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法
- 本文实例为大家分享了java二叉查找树的具体代码,供大家参考,具体内容如下package 查找;import edu.princeton.c
- 本文实例为大家分享了C#泛型类创建与使用的具体代码,供大家参考,具体内容如下using System;using System.Collec
- NullPointerException是当您尝试使用指向内存中空位置的引用(null)时发生的异常,就好像它引用了一个对象一样。当我们声明
- cc3利用链如下:TrAXFilter(Templates templates) TemplatesImpl-&a
- 需求有时候我们想快速通过http访问本地的一些资源,但是安装一些web服务器又很费时和浪费资源,而且也不是长期使用的。这时候我们可以启动一个
- 背包问题主要是指一个给定容量的背包、若干具有一定价值和重量的物品,如何选择物品放入背包使物品的价值最大。其中又分01背包和无限背包,这里主要
- 前言记得几年前有一次栈长去面试,问到了这么一个问题:Java中的对象都是在堆中分配吗?说明为什么!当时我被问得一脸蒙逼,瞬间被秒杀得体无完肤
- Java时间格式转换大全import java.text.*;import java.util.Calendar;public class
- 下面是自己写的三个方法,直接类名.方法即可调用,注意此处未做异常处理.1.下划线转驼峰 lowerLineToHump()2.首字母大写 c
- 以下内容通过1、实现目标注入程序,2、实现主程序,3、实现注入函数,4、thumb指令集实现等4个方面详细分析了android中inline
- 一、申请你的AppIDhttp://open.weixin.qq.com/ 友情提示:推荐使用eclipse打包软件最后一步的M
- C# 操作符之三元操作符“?:”是什么呢?C# 操作符之三元操作符“?:”有时也称为条件操作符。对条件表达式b?x:y,先计算条件b,然后进
- 基本用法不说了,网上例子很多,这里主要介绍下比较特殊情况下使用的方法。1. 分组有的时候,我们对一个实体类需要有多中验证方式,在不同的情况下