提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言Runnable2.
运行结果总结:
前言
多线程中的Runnable
Runnable
public class MyRunnable implements Runnable{
@Override
public void run() {
for (int i
= 0; i
< 10; i
++) {
System
.out
.println("锄禾日当午"+i
);
}
}
}
先创建一个MyRunnable类实现Runnable接口并且实现Runnable的run方法。
2.
public class Demo1 {
public static void main(String
[] args
) {
MyRunnable r
= new MyRunnable();
Thread t
= new Thread(r
);
t
.start();
for (int i
= 0; i
< 10; i
++) {
System
.out
.println("汗滴禾下土"+i
);
}
}
}
运行结果
汗滴禾下土0 锄禾日当午0 汗滴禾下土1 锄禾日当午1 汗滴禾下土2 锄禾日当午2 汗滴禾下土3 锄禾日当午3 汗滴禾下土4 锄禾日当午4 汗滴禾下土5 锄禾日当午5 汗滴禾下土6 锄禾日当午6 汗滴禾下土7 汗滴禾下土8 锄禾日当午7 汗滴禾下土9 锄禾日当午8 锄禾日当午9
总结:
实现Runnable与继承Thread相比有如下优势 1.通过创建任务,然后给线程分配任务的方式实现多线程,更适合多个线程同时执行任务的情况 2,可以避免单继承所带来的局限性 3,任务与线程是分离的,提高了程序的健壮性 4,线程池技术,接受Runnable类型的任务,不接受Thread类型的线程