多线程-创建线程的第二种方式
作者:互联网
创建线程的第二种方式
采用Runnable也是非常常见的一种 我们只需要重写run方法即可 它是隶属于java.lang包下
Runnable类的构造方法
Thread(Runnable target) 分配新的Thread对象
Thread(Runnable target,String name)分配新的Thread对象
实现步骤:
1.创建一个Runnable即可的实现类
2.在实现类中重写Runnable接口的run方法 设置线程任务
3.创建一个Runnable接口的实现类对象
4.创建Thread类对象 构造方法中传递Runnable接口的实现类对象
5.调用Thread类中的start方法 开启新的线程执行run方法
代码:
public class DemoMyRunnable implements Runnable {
@Override
public void run() {
for (int i = 0; i <20 ; i++) {
System.out.println("线程"+i);
}
}
}
class test05{
public static void main(String[] args) {
DemoMyRunnable runnable = new DemoMyRunnable();
new Thread(runnable).start();
for (int i = 0; i < 20; i++) {
System.out.println("main"+i);
}
}
}
运行结果:
Thread和Runnable的区别
如果一个类继承Thread 则不适合资源共享
如果实现了Runnable接口的话 则很容易实现资源共享
实现Runnable接口比继承Thread类所具有的优势
1.适合多个相同的程序代码的线程去共享同一个资源
2.可以避免java中的单继承的局限性
3.增加程序的健壮性 实现解耦操作 代码可以被多个线程共享 代码和线程独立
4.线程池只能放入实现Runnable或者Callable类线程 不能直接放入继承Thread的类
标签:Runnable,run,Thread,实现,接口,线程,第二种,多线程 来源: https://www.cnblogs.com/aimz01/p/16465930.html