Java多线程(创建)

线程的创建

Java语言程序设计—多线程—线程的创建86 播放 · 0 赞同视频正在上传…重新上传取消​

在Java中,类仅支持单继承,也就是说,当定义一个新的类时,它只能扩展一个外部类。如果创建自定义线程类的时候是通过扩展 Thread类的方法来实现的,那么这个自定义类就不能再去扩展其他的类,也就无法实现更加复杂的功能。因此,如果自定义类必须扩展其他的类,那么就可以使用实现Runnable接口的方法来定义该类为线程类,这样就可以避免Java单继承所带来的局限性。Java提供了三种创建线程的方式,下面分别进行详细的讲解。

Ø 继承Thread类创建线程

Java提供了Thread类代表线程,它位于java.lang包中,下面介绍Thread类创建并启动多线程的步骤,具体步骤如下。

(1)定义Thread类的子类,并重写run()方法,run()方法称为线程执行体。

(2)创建Thread子类的实例,即创建了线程对象。

(3)调用线程对象的start()方法启动线程。

启动一个新线程时,需要创建一个Thread类实例,接下来了解一下Thread类的常用构造方法。如表所示。

表中列出了Thread类的常用构造方法,这些构造方法可以创建线程实例,线程真正的功能代码在类的run()方法中。当一个类继承Thread类后,可以在类中覆盖父类的run()方法,在方法内写入功能代码。另外,Thread类还有一些常用方法。

如表所示。

表中列出了Thread类的常用方法,接下来用一个案例演示如何用继承Thread类的方式创建线程,如例所示。

程序的运行结果如图所示。

在例中,声明SubThread1类继承Thread类,在类中重写了run()方法,方法内循环打印小于4的奇数,其中,currentThread()方法是Thread类的静态方法,可以返回当前正在执行的线程对象的引用,最后在main()方法中创建两个SubThread1类实例,分别调用start()方法启动两个线程,两个线程都运行成功。这是继承Thread类创建多线程的方式。

如果start()方法调用一个已经启动的线程,程序会报IllegalThreadStateException异常。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值