14.2 线程创建的方式二:

本文介绍了两种创建Java线程的方法:一是通过继承Thread类并重写run方法;二是实现Runnable接口并通过传递给Thread构造器来启动线程。讨论了Runnable实现类对象与线程对象的区别及推荐使用第二种方法的原因。

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

方式一:
1、自定义一个类,该类继承Thread类。
2、重写Thread类的run方法,把自定义线程的代码放到run方法上。
3、创建Thread子类的对象,调用start方法,启动线程。


方式二:
1、自定义一个类实现Runnable接口。
2、实现Runnable接口的run方法,把自定义的线程代码放到run方法中。
3、创建runnable的实现类对象。
4、创建Thread类的对象,并且把runnable实现类的对象作为实参传递。
5、调用Thread对象的start方法开启一个线程。


问题1:请问Runnable实现类的对象是线程对象吗?
答:Runnable的实现类的对象并不是一个线程对象,其只不过是实现了Runnable的接口的对象而已。
只有Thread或者Thread子类的对象才睡线程的对象。


问题2:为什么要把Runnable的实现类的对象作为实参传递给Thread对象呢?作用是什么?
作用:就是把Runnable实现类的对象的run方法作为线程的任务代码去执行了。


对于这2种方式,推荐使用第二种,实现Runnable接口实现。因为java虚拟机类是单继承的。



class test implements Runnable 
{

	@Override
	public void run() {
		
	
		System.out.println(Thread.currentThread());//在这里这2个对象不一样,Thread.currentThread()表示是Thread的对象。this则是表示test类的对象
		System.out.println(this);
	
	}

}


class wu
{
 public static void main(String [] args)
 {
	test t1 = new test();
    Thread th = new Thread(t1,"张三");
	th.start();
}

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值