搜索 K
Appearance
博客正在加载中...
Appearance
使用线程的内匿名内部类方式,可以方便的实现每个线程执行不同的线程任务操作,简化代码。
匿名内部类的最终产物:子类/实现类的对象,而这个类没有名字
格式:
new 父类/接口(){
// 重写父类/接口中的方法
}接下来我们实践下:
package chapter200Thread;
public class Demo07InnerClassThread {
public static void main(String[] args) {
// 方式一
new Thread(){
@Override
public void run() {
for (int i = 0; i < 20; i++){
System.out.println(Thread.currentThread().getName() + " --> " + "继承Thread方式");
}
}
}.start();
// 方式二
Runnable r = new Runnable() {
@Override
public void run() {
for (int i = 0; i < 20; i++){
System.out.println(Thread.currentThread().getName() + " --> " + "实现接口方式");
}
}
};
new Thread(r).start();
}
}运行结果:交替执行
Thread-0 --> 继承Thread方式
Thread-1 --> 实现接口方式
Thread-0 --> 继承Thread方式
Thread-1 --> 实现接口方式
....方式二可以简化下:
new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 20; i++){
System.out.println(Thread.currentThread().getName() + " --> " + "实现接口方式");
}
}
}).start();除此之外,还可以用 Lambda 表达式简化。
(完)