import java.util.concurrent.TimeUnit;
/**
* InnerThread1 创建了一个扩展自Thread 的匿名内部类,
* 并且在构造器中创建了一个内部类的一个实例。如果内部类
* 具有你在其他方法中需要访问的特殊能力(新方法),那这么
* 做将会很有意义。但是,在大多数时候,创建线程的原因只是为
* 了使用Thread的能力,因此不必要创建匿名内部类。
*
* @create @author Henry @date 2016-11-18
*/
// using a named inner class:
class InnerThread1 {
private int countDown = 5;
private Inner inner;
private class Inner extends Thread {
public Inner(String name) {
super(name);
start();
}
@Override
public void run() {
try {
while (true) {
System.out.println(this);
if (--countDown == 0)
return;
sleep(10);
}
} catch (InterruptedException e) {
System.out.println("interrupted");
}
}
@Override
public String toString() {
return getName() + ": " + countDown;
}
}
public InnerThread1(String name) {
inner = new Inner(name);
}
java 多线程 内部类实现
最新推荐文章于 2024-05-08 15:24:13 发布