JAVA Runnable接口

package ch01;

class RenWu implements Runnable{
	//重写run()方法
	public void run()
	{
		//获取当前线程的名字
		System.out.println("当前线程:"+Thread.currentThread().getName());
		for(int i=0;i<30;i++)
		{
			System.out.print("A");
			
		}
	}
}
public  class RunnableDemo{
	public static  void main(String[] args){
		//创建一个任务对象
		RenWu rw=new RenWu();
		//将实现的Runnable类的实例传入构造函数
		Thread thread=new Thread(rw);
		thread.start();
		//获取主线程的名字
		System.out.println("主线程:["+Thread.currentThread().getName()+"]");
		for(int i=0;i<30;i++)
		{
			System.out.print("C");
		}
	}
}

创建线程的另一种方法是实现Runnable接口。Runnable接口中只有一个run()方法,它非Thread类子类的类提供的一种激活方式。一个类实现Runnable接口后,并不代表

该类是一个“线程”类,不能直接运行,必须通过Thread实例才能创建并运行线程。

通过Runnable接口创建线程的步骤如下:

1、定义实现Runnable接口的类,并实现该类中的run()方法。

2、建立一个Thread对象,并将实现的Runnable接口的类的对象作为参数传入Thread类的构造方法。

3、通过Thread类中的start()方法启动线程,并运行。


注:直接调用Thread类或Runnable类对象的run()方法是无法启动线程的,这只是一个简单的方法调用必须通过Thread方法中的start()才行。

  • 11
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java中,实现Runnable接口是实现多线程的一种常用方式。具体实现步骤如下: 1. 定义一个类,并实现Runnable接口。 2. 在该类中重写run()方法,该方法中包含线程要执行的代码。 3. 创建该类的对象。 4. 创建Thread对象,并将该对象作为参数传递给Thread的构造方法中。 5. 调用Thread对象的start()方法,该方法会启动线程并自动调用run()方法。 下面是一个示例代码: ``` public class MyRunnable implements Runnable { public void run() { System.out.println("MyRunnable is running"); } public static void main(String[] args) { MyRunnable runnable = new MyRunnable(); Thread thread = new Thread(runnable); thread.start(); } } ``` 在上面的代码中,MyRunnable类实现了Runnable接口,并重写了run()方法。在main()方法中,我们创建了MyRunnable的对象,并将其作为参数传递给Thread类的构造函数中,然后调用start()方法启动线程。当线程启动时,将会自动调用MyRunnable的run()方法中的代码。 需要注意的是,当实现Runnable接口时,我们可以通过构造函数传递参数,使线程具有更好的灵活性。例如: ``` public class MyRunnable implements Runnable { private String name; public MyRunnable(String name) { this.name = name; } public void run() { System.out.println(name + " is running"); } public static void main(String[] args) { MyRunnable runnable1 = new MyRunnable("Thread1"); MyRunnable runnable2 = new MyRunnable("Thread2"); Thread thread1 = new Thread(runnable1); Thread thread2 = new Thread(runnable2); thread1.start(); thread2.start(); } } ``` 在上面的代码中,我们通过构造函数传递了一个name参数,使每个线程具有不同的名称。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值