Java创建线程的两种方式及对比

Java中两种创建线程的方式:

1. 继承Thread类

  • 重写run()方法
  • new一个线程对象
  • 调用对象的start()启动线程
	class Handler extends Thread{
		public void run(){
			//重写run()方法
		}
		public static void main(String[] args){
			Thread thread=new Handler();//创建线程对象
			thread.start();//启动线程
		}
	}

2. 实现Runnable接口

  • 实现run()方法
  • 创建一个Runnable类的对象 r,new Runnable()
  • 创建Thread类对象并将Runnable对象作为参数,new Thread®
  • 调用Thread()对象的start()启动线程
	class Handler implements Runnable{
		public void run(){
			//重写run()方法
		}
		public static void main(String[] args){
			//创建线程对象
			Handler handler=new Handler();
			Thread thread=new Thread(handler);
			//启动线程
			thread.start();
		}
	}

创建线程的两种方式对比

继承Thread类

  • 优点:编写简单,如果需要访问当前线程直接使用this即可获得当前线程
  • 缺点:线程类已经继承了Thread类,不能再继承其它的父类

实现Runnable接口

  • 优点:线程类只实现了Runnable接口,还可以继承其他的类。可以实现多个线程共享一个目标对象,非常适合多个相同线程来处理同一份资源的情况。
  • 缺点:编程稍微复杂,需要访问当前线程,必须使用Thread.currentThread()方法
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值