创建对线程的第二种方式_实现Runnable接口、Thread和Runnable的区别

创建对线程的第二种方式_实现Runnable接口

  Runnable接口应该由那些打通过某一线程执行其实列的类在实现,类必须定义一个称为run发无参方法

  Thread (Runnable target)分配新的对象 Thread对象

  Thread (Runnable target,String name)分配新的Thread对象

实现步骤:

  创建一个Runnable接口实现类

  在实现类中重写Runnable接口的中的Run方法,设置线程任务

  创建一个Runnable接口实现对象

  创建Thread类对象,构造方法中传递Runnbable接口的实现类对象

  调用Thread类中start方法,并开启新的线程run方法

案例:

package Runnable;

public class Runnableimpl implements Runnable{

@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println(Thread.currentThread().getName()+i);
}
}

public static void main(String[] args) {
Runnableimpl runnableimpl = new Runnableimpl();
Thread thread = new Thread(runnableimpl);
thread.start();
for (int i = 0; i < 20; i++) {
System.out.println(Thread.currentThread().getName()+i);
}

}
}

看结果:

  

 

 

   

 

Thread和Runnable的区别

实现Runnleb实现多线程的好处: 

 1.避免了单继承的局限性

  一个类只能继承一个类,类继承了Thread类就不能继承其他的类

  实现Runnable接口,还可以继承其他的类,实现其他的接口

 2.增强了程序的扩展性,降低了程序的耦合性(解耦)

  实现Runnlab接口的方式,把设置线程任务和开启新线程进行了分离(解耦)

  实现类中,重写了run方法,用来设置线程任务

  创建Thread类对象,调用start方法;用来开启线程

案例:

  

public class Runnableimpl2 implements Runnable{

@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println(Thread.currentThread().getName()+i);
}
}

public static void main(String[] args) {
Runnableimpl2 runnableimpl = new Runnableimpl2();
Thread thread = new Thread(runnableimpl);
thread.start();
for (int i = 0; i < 20; i++) {
System.out.println("hello");
}

}
}

 

posted @   一位程序袁  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示