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

package cn.itcast.demo16.Demo07.Runnable;

/**
* @author newcityman
* @date 2019/7/22 - 23:17
*/
public class RunnableImpl implements Runnable {
@Override
public void run() {
for (int i = 0; i <20 ; i++) {
System.out.println(Thread.currentThread().getName()+"---->"+i);
}
}
}


package cn.itcast.demo16.Demo07.Runnable;

/**
* @author newcityman
* @date 2019/7/22 - 23:17
*/
public class RunnableImpl2 implements Runnable {
@Override
public void run() {
for (int i = 0; i <20 ; i++) {
System.out.println("hello world---->"+i);
}
}
}


package cn.itcast.demo16.Demo07.Runnable;

/**
* @author newcityman
* @date 2019/7/22 - 23:18
* 创建多线程的第二种方式:实现Runnable接口
* java.lang.Runnable
* Runnable 接口应该由那些打算通过某一线程执行其实例的类来实现。类必须定一个称为run的无参方法
* java.lang.Thread类的构造方法
*
*
* 实现步骤:
* 1、创建一个Runnable接口的实现类
* 2、在实现类中重写Runnable接口的run方法,设置线程任务
* 3、创建一个Runnable实现类的对象
* 4、创建一个Thread类对象,其构造方法的参数传递Runnable实现类的对象
* 5、调用Thread类中的start()方法
*
* 实现Runnable接口创建多线程的优点
* 1、避免单继承的局限性
* 一个类只能继承一个类,类继承了Thread类就不能够继承其他的类了
* 实现Runnable接口,还可以继承其他的类,实现其他的接口
* 2、增强了程序的扩展性,降低了程序的耦合性(解耦)
* 实现Runnable接口的方式,吧设置线程任务和开启线程进行了分离(解耦)
* 实现类中,重写了run方法,用来设置线程任务
* 创建Thread类对象,调用Start方法,用来开启新线程
*/
public class Demo01Runnable {
public static void main(String[] args) {
RunnableImpl impl = new RunnableImpl();
Thread t = new Thread(impl);
t.start();
System.out.println("=========================");
new Thread(new RunnableImpl2()).start();
for (int i = 0; i <20 ; i++) {
System.out.println(Thread.currentThread().getName()+"---->"+i);
}

}
}
 

转载于:https://www.cnblogs.com/newcityboy/p/11229250.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值