理论教育 Java程序设计:继承Thread类

Java程序设计:继承Thread类

时间:2023-10-18 理论教育 版权反馈
【摘要】:表12.1Thread类的基本方法通过继承Thread类来实现线程的一般过程如下:编写Thread类的子类,并在这个子类中覆写run()方法。通过创建Thread类的子类来实现多线程编程。编写好MyThread类之后,下面开始编写示例。图12.3程序运行结果从图12.3可以看出,MyThread类的run()方法中的输出操作与main()方法中的输出在随机轮换执行。图12.4程序运行结果从运行结果可以看出,线程的名字已经发生了变化,变为了"newThread"。

Java程序设计:继承Thread类

Thread类将线程所必需的功能都进行了封装,表12.1所示是Thread类的一些基本方法。

表12.1 Thread类的基本方法

通过继承Thread类来实现线程的一般过程如下:

(1)编写Thread类的子类,并在这个子类中覆写run()方法。

(2)在run()方法中编写这个线程需要执行的代码或任务。

(3)在主线程中使用(1)中编写的子类来创建线程。

(4)使用start()方法来启动线程。

【例12.1】通过创建Thread类的子类来实现多线程编程。

在Eclipse中创建一个名为Chapter12的项目,并在这个项目的src目录下新建一个名为cn.pzhu.create的包,然后在这个包下面创建一个名为MyThread的类(该类是Thread的子类),最后在这个类中覆写run()方法,关键代码如下:

说明:

为了让程序效果更明显,上述代码中线程重复执行输出5次后结束,并且每次输出之后将休眠100 ms。如果线程不使用sleep()方法休眠,可能在一个时间片内程序就执行完毕了,无法看出线程之间的交替执行。

编写好MyThread类之后,下面开始编写示例。在cn.pzhu.create的包下创建一个名为Example01的类,在这个类中既有main()方法的输出,又调用线程来进行输出。关键代码如下:

(www.daowen.com)

编写好之后,运行程序,程序运行结果如图12.3所示。

图12.3 程序运行结果

从图12.3可以看出,MyThread类的run()方法中的输出操作与main()方法中的输出在随机轮换执行。在使用多线程的情况下,MyThread类的run()方法与main()方法可以同时运行,互不影响。

说明:

运行结果中的"main"和"Thread-0"是通过Thread.currentThread().getName()方法获取到的当前正在运行的线程的名字,如果在创建线程的时候没有指定名字,那么系统会自动生成。

如果将Example01.java中创建线程的代码修改为:

然后再运行程序,程序运行结果如图12.4所示。

图12.4 程序运行结果

从运行结果可以看出,线程的名字已经发生了变化,变为了"newThread"。

提示:

除了在构造线程的时候,利用构造方法给线程指定名称,还可以通过setName(String name)方法来修改线程的名称。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈