`
恋洁e生
  • 浏览: 44805 次
  • 性别: Icon_minigender_1
  • 来自: 山东聊城
社区版块
存档分类
最新评论

多线程之匿名内部类

阅读更多

package Thread;
/**
 * @author  FlyFire
 * @date:2011-10-27 下午07:37:38
 * @introduce :以匿名内部类的方式创建线程
 *
 */
public class InternalThread {

    //程序主函数
    public static void main(String args[]){
        for(int i=0;i<10;i++){
            InternalThread it=new InternalThread();
            it.startThread(i);
        }
    }
    //该方法会启动一个匿名线程
    public void startThread(int i){
        //要传入匿名线程内使用的参数必须定义为final型
            final int ID=i;
            Runnable runnable=new Runnable(){
                public void run(){
                    while(true){
                        /*
                         * Thread.sleep(long time)方法只是让线程暂停,而非退出
                         * 休眠时间结束后,VM会将线程重新调为运行状态。当线程在
                         * sleep状态时,如果VM或其他线程强行终止这个线程,sleep
                         * 方法会抛出InterruptedException异常,这叫做线程中断异常
                         * 所以,在调用sleep方法时,需要处理或抛出这个异常
                         */
                        try{
                            System.out.println(ID+"号线程已启动");
                            Thread.sleep(10000);
                        }catch(Exception e){
                            e.printStackTrace();
                        }
                       
                    }
                }
            };
        Thread thread=new Thread(runnable);
        thread.start();
    }
}

0
0
分享到:
评论

相关推荐

    java中的匿名内部类总结

    匿名内部类可以简洁的实现多线程编程。 实例 5: Runnable 接口的匿名内部类实现 在这个例子中,我们使用匿名内部类来实现Runnable接口的run()方法。然后,我们创建了一个Thread对象,并将Runnable对象传递给它。 ...

    java 内部类使用(内部匿名类)

    内部类分为几种类型,包括成员内部类、局部内部类、匿名内部类以及方法参数内部类。 1. **成员内部类**:成员内部类就像是外部类的一个普通成员,可以是静态或非静态的。非静态内部类拥有对外部类的引用,可以直接...

    匿名内部类实现接口回调

    匿名内部类是Java中的一种特殊类,它没有名称,可以直接实例化,并且可以继承一个类或实现一个(多个)接口。在接口回调的场景下,我们可以使用匿名内部类快速地创建一个实现了接口的实例,而无需定义一个新的类。...

    Handler对象中使用匿名内部类或非静态内部类正确地释放消息避免内存泄漏或增加Native内存

    然而,不当使用Handler,尤其是结合匿名内部类或非静态内部类,可能导致内存泄漏和Native内存增加,这对应用性能和稳定性造成负面影响。 首先,我们要理解内存泄漏的概念。内存泄漏是指程序中已分配的内存没有被...

    匿名内部类_Anoymous_Inner_

    4. **不能继承多个类**:由于Java不支持多继承,匿名内部类也不能例外,但它可以通过实现多个接口来达到类似的效果。 5. **内部类与嵌套类的区别**:内部类分为匿名内部类和非匿名内部类(如成员内部类和局部内部类...

    MapReduce,泛型,匿名内部类,Runnable和Callable

    总结来说,MapReduce是大数据处理的关键技术,泛型提供了强大的类型安全和代码复用,匿名内部类简化了多线程编程,而`Runnable`和`Callable`则是Java多线程编程的基础。了解和掌握这些概念对于理解现代分布式系统和...

    使用内部类实现线程

    本篇文章将深入探讨如何使用内部类来创建和管理线程,这在多线程编程中是一种常见且强大的技术。 内部类,也称为嵌套类,是在一个类的内部定义的另一个类。它们可以是静态或非静态的,每种类型都有其特定的用途。当...

    非常精简的匿名内部类详解.docx

    匿名内部类在实际开发中有很多应用,例如事件监听、线程实现、单例模式等。在处理事件监听时,我们可以直接在需要的地方创建匿名内部类来实现监听接口,这样可以使代码更加简洁,易于理解。同样,在实现单例模式时,...

    java中匿名内部类详解

    - **Thread类的匿名内部类实现**:在多线程编程中,可以使用匿名内部类直接继承`Thread`类并重写`run()`方法: ```java public class Demo { public static void main(String[] args) { Thread t = new Thread...

    java8 探讨与分析匿名内部类、lambda表达式、方法引用的底层实现的测试用例

    例如,`Runnable`接口常用于线程,我们可以通过匿名内部类快速创建一个线程并实现run()方法。 2. **Lambda表达式**: Lambda表达式是Java 8的核心特性之一,它提供了一种简洁的表示函数式接口实现的方式。传统的...

    Java匿名内部类的写法示例

    - **匿名实现回调**:在多线程编程中,`Thread`类的构造函数接受`Runnable`接口作为参数,可以使用匿名内部类快速实现回调。 - **匿名继承抽象类**:当需要快速实现一个抽象类的某个特定方法时,可以使用匿名内部类...

    java线程内部类练习.rar

    总的来说,Java线程和内部类是并发编程中的关键概念,它们的组合使用能够帮助我们设计出高效且灵活的多线程程序。在进行Java线程练习时,不仅要注意线程的创建和管理,还要关注线程安全问题,确保数据的正确性和一致...

    移动编程之线程

    Java的线程回顾 匿名内部类 Android的多线程技术之Handler Android的多线程技术之AsyncTask HTTP概述 HTTPClient

    java中匿名内部类解读分析

    此外,匿名内部类在多线程编程中也有所应用。例如,我们可以创建一个`Runnable`的匿名内部类来实现特定的运行逻辑: ```java private Runnable mRunnable = new Runnable() { @Override public void run() { // ...

    java代码笔记2010-06-01:Java内部类 静态内部类 局部内部类 明明内部类;StringBuffer reverse的使用;

    `StringBuffer` 是线程安全的字符串操作类,相比于`StringBuilder`,在多线程环境中更安全。`reverse()`方法是`StringBuffer`的一个成员方法,用于将字符串的内容反转。例如,`new StringBuffer("hello").reverse()...

    详解Java内部类——匿名内部类

    匿名内部类的使用场景很多,例如,在GUI编程中,我们可以使用匿名内部类来处理事件监听器,在多线程中,我们可以使用匿名内部类来创建线程对象等。 匿名内部类的声明方式是new 父类(参数列表)|实现接口() { //...

    Delphi使用CreateAnonymousThreadX传递参数的匿名线程

    - 在多线程应用程序中,多个线程可以并发执行,提高程序的响应性和效率。 - Delphi提供多种创建线程的方式,包括`TThread`类和原生的`CreateThread`函数。 2. **`TThread`类和匿名线程** - `TThread`是Delphi中...

    java中的匿名内部类详细总结

    在Java多线程编程中,匿名内部类被广泛使用。你可以通过继承 `Thread` 类或者实现 `Runnable` 接口来创建新的线程。例如,`Thread t = new Thread() {...}` 和 `Runnable r = new Runnable() {...}` 分别展示了两种...

Global site tag (gtag.js) - Google Analytics