线程(1)多线程创建的方式

创建线程的两种方式

第一种:继承Thread类。第二种:实现Runable接口,

创建一个实现Runable的类或是继承Thread类子类的实例,重写run方法,方法体中的内容就是新线程要执行的业务逻辑代码,创建该类的实例,并根据此类创建一个具体的Thread实例,该实例调用start方法就实现了新线程的启动

(1)通过实现Runable接口实现的方式

public class NewThread1 {
     
	
	public static void main(String[] args) {
		//首先创造继承Thread的类的子类或是实现Runnable接口的类的对象,
		NewThreadT r1 = new NewThreadT();
		//把该对象作为参数创建新的线程
        Thread thread = new Thread(r1); 
        
        //每一个新线程都是通过一个特定的Thread对象来执行的,执行的是run方法体中的内容,通过start实现
        thread.start();//使用start方法实现新线程的启动,新线程执行的代码主体为实现runable接口的类或是继承Thread类的子类run方法体中的代码
		
//        thread.run();//如果让线程类直接调用run方法,则没有创建新的线程,相当于方法的调用。
        
		for (int i = 0; i < 10; i++) {
			System.out.println("主线程名字"+Thread.currentThread().getName());
		}

	}
	
   static class NewThreadT implements Runnable{

		@Override
		public void run() {
			for (int i = 0; i < 10; i++) {
				System.out.println("创建的新线程名字"+Thread.currentThread().getName());
			}
		}
		
	}
	
	
(2)通过继承Thread类实现的方式
public class NewThread2 {
   public static void main(String[] args) {
	   Newthread2in inclass = new Newthread2in();
	   Thread thread = new Thread(inclass, "thread1");
	   thread.start();
  }
   
   static class Newthread2in extends Thread{
	   @Override
	   public void run() {
		   for (int i = 0; i < 5; i++) {
			   System.out.println("测算金额"+Thread.currentThread().getName());
		   }
	   }
   }
  
}

两种方式的选择,应该更多的选择继承Runable接口,因为继承方式只能是实现单继承,而接口可以多个实现,实现多个接口,并且实现Runable更符合面向对象。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值