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();
}
}
分享到:
相关推荐
匿名内部类可以简洁的实现多线程编程。 实例 5: Runnable 接口的匿名内部类实现 在这个例子中,我们使用匿名内部类来实现Runnable接口的run()方法。然后,我们创建了一个Thread对象,并将Runnable对象传递给它。 ...
内部类分为几种类型,包括成员内部类、局部内部类、匿名内部类以及方法参数内部类。 1. **成员内部类**:成员内部类就像是外部类的一个普通成员,可以是静态或非静态的。非静态内部类拥有对外部类的引用,可以直接...
匿名内部类是Java中的一种特殊类,它没有名称,可以直接实例化,并且可以继承一个类或实现一个(多个)接口。在接口回调的场景下,我们可以使用匿名内部类快速地创建一个实现了接口的实例,而无需定义一个新的类。...
然而,不当使用Handler,尤其是结合匿名内部类或非静态内部类,可能导致内存泄漏和Native内存增加,这对应用性能和稳定性造成负面影响。 首先,我们要理解内存泄漏的概念。内存泄漏是指程序中已分配的内存没有被...
4. **不能继承多个类**:由于Java不支持多继承,匿名内部类也不能例外,但它可以通过实现多个接口来达到类似的效果。 5. **内部类与嵌套类的区别**:内部类分为匿名内部类和非匿名内部类(如成员内部类和局部内部类...
总结来说,MapReduce是大数据处理的关键技术,泛型提供了强大的类型安全和代码复用,匿名内部类简化了多线程编程,而`Runnable`和`Callable`则是Java多线程编程的基础。了解和掌握这些概念对于理解现代分布式系统和...
本篇文章将深入探讨如何使用内部类来创建和管理线程,这在多线程编程中是一种常见且强大的技术。 内部类,也称为嵌套类,是在一个类的内部定义的另一个类。它们可以是静态或非静态的,每种类型都有其特定的用途。当...
匿名内部类在实际开发中有很多应用,例如事件监听、线程实现、单例模式等。在处理事件监听时,我们可以直接在需要的地方创建匿名内部类来实现监听接口,这样可以使代码更加简洁,易于理解。同样,在实现单例模式时,...
- **Thread类的匿名内部类实现**:在多线程编程中,可以使用匿名内部类直接继承`Thread`类并重写`run()`方法: ```java public class Demo { public static void main(String[] args) { Thread t = new Thread...
例如,`Runnable`接口常用于线程,我们可以通过匿名内部类快速创建一个线程并实现run()方法。 2. **Lambda表达式**: Lambda表达式是Java 8的核心特性之一,它提供了一种简洁的表示函数式接口实现的方式。传统的...
- **匿名实现回调**:在多线程编程中,`Thread`类的构造函数接受`Runnable`接口作为参数,可以使用匿名内部类快速实现回调。 - **匿名继承抽象类**:当需要快速实现一个抽象类的某个特定方法时,可以使用匿名内部类...
总的来说,Java线程和内部类是并发编程中的关键概念,它们的组合使用能够帮助我们设计出高效且灵活的多线程程序。在进行Java线程练习时,不仅要注意线程的创建和管理,还要关注线程安全问题,确保数据的正确性和一致...
Java的线程回顾 匿名内部类 Android的多线程技术之Handler Android的多线程技术之AsyncTask HTTP概述 HTTPClient
此外,匿名内部类在多线程编程中也有所应用。例如,我们可以创建一个`Runnable`的匿名内部类来实现特定的运行逻辑: ```java private Runnable mRunnable = new Runnable() { @Override public void run() { // ...
`StringBuffer` 是线程安全的字符串操作类,相比于`StringBuilder`,在多线程环境中更安全。`reverse()`方法是`StringBuffer`的一个成员方法,用于将字符串的内容反转。例如,`new StringBuffer("hello").reverse()...
匿名内部类的使用场景很多,例如,在GUI编程中,我们可以使用匿名内部类来处理事件监听器,在多线程中,我们可以使用匿名内部类来创建线程对象等。 匿名内部类的声明方式是new 父类(参数列表)|实现接口() { //...
- 在多线程应用程序中,多个线程可以并发执行,提高程序的响应性和效率。 - Delphi提供多种创建线程的方式,包括`TThread`类和原生的`CreateThread`函数。 2. **`TThread`类和匿名线程** - `TThread`是Delphi中...
在Java多线程编程中,匿名内部类被广泛使用。你可以通过继承 `Thread` 类或者实现 `Runnable` 接口来创建新的线程。例如,`Thread t = new Thread() {...}` 和 `Runnable r = new Runnable() {...}` 分别展示了两种...