怎样使用Runnable和Thread实现多线程?

本文介绍了多线程的基本概念,将其比喻为多个独立运作的赛道,并详细解释了如何使用Runnable接口和Thread类来实现多线程。通过具体示例展示了多线程的创建过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是线程?

可以这样理解:线程就像是赛道,每个赛道互不影响。

但是我们一般的程序中都是顺序进行的,也就是一个赛道的跑完后才进行下个赛道。

而多线程弥补了这一缺点,让多个赛道能够同时运作,因此大大加快了运行速度。


比如我们的售票窗口,地铁的闸门,或者游戏里的飞机坦克他们都能在同一时间独立的运作,这就是多线程。

怎样完成多线程?

那肯定是用到Runnable接口和Thread类了,通过实现Runnable中的run()方法再由Thread类中的start()方法启动run就可以完成多线程。ps:Thread中的start()方法可以协调系统资源。

public interface Runnable{     //Runnable接口
public void run(); 
}   

现在演示一下多线程:

class Road implements Runnable    //创建一个Road类
{                
	int Cars=15;
	@Override
	public void run() {       //实现run方法
		for(int i=1;i<=Cars;)
		{
                        if(Cars>0)
			    System.out.println("Passenger "+(this.Cars--)+" Out ");    //输出每个Car的信息
		}
	}
}
public class Test1{
		public static void main(String[] args) {
			Road rd=new Road();        //实例化一个Road 
			new Thread(rd).start();     //创建road两个线程
			new Thread(rd).start();     //注意!!!!给Thread的对象必须是同一个,这样才能实现同时完成一个任务
		}
	}

在Thread中有一个构造方法public Thread(Runnable targer),可以给Thread一个Runnable类型的对象,由此才能调用的start()方法。

注意!!!!给Thread的对象必须是同一个,这样才能实现同时去完成同一个任务。

对象不同只会各自单独去单程同一个任务,这个自己去测试。

总结:

实现多线程需要实现Runnbale中的run方法,然后通过给Thread一个Runnable类型的对象(其实就是那个类的对象上转型来的,准确来说接口不能实例化),来调用Thread中的start()方法,完成多线程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狮子座的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值