java多线程的二种实现

本文详细介绍了Java中创建多线程的两种主要方法:继承Thread类和实现Runnable接口。解释了这两种方法的相似之处和不同之处,并强调了如何在实例化阶段进行区分。还讨论了线程运行流程,包括如何让线程无限循环执行任务,以及线程生命周期的结束条件。
在JAVA中,有2种形式可以实现自己的多线程程序,第一种是继承,第二种是实现接口里的方法。
因为在JAVA中不许多重继承,所以大多数我们选择第二种实现接口来实现自己的多线程程序。

第一种:

public class Thread1 extends Thread {

public void run(){
//这里实现自己的逻辑代码;
}
}



启动这个线程:
 Thread1 t=new Thread1();//new出Thread1对象实例
t.start();//启动



第二种:

   public class Thread2 implements Runnable {

public void run(){
//这里实现自己的逻辑代码;
}
}


启动这个线程:
Thread t2=new Thread(new Thread2());//new出Thread1对象实例
t.start();//启动


从这里可以看到,创建多线程的这2种方法都差不多,都要实现RUN方法,唯一比较大的区别就是在实例化这个地方,需要注意。当start()方法开始执行,那么我们实现的RUN方法也就开始被执行了,RUN方法执行完后,这个线程也就结束了自己的生命周期。如果我们想此线程不退出,那么我们只要保证这个线程不结束就可以了。通常加一个死循环,如:

 public void run(){
while(true){
//逻辑代码
}
}


这样做,当此线程有事情要做时,CPU会分配时间片,如果不执行,那么CPU将把时间片交给其它的程序,而此线程一直处于休眠状态,直到在次被CPU唤醒。而此线程一直存在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值