在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。
1.继承自Thread类
Thread类位于java.lang包中,只有通过Thread类或它的派生类才能创建线程的实例,并启动一个新的线程。Thread类的构造方法如下所示:
(1)Thread():创建一个系统线程对象。
(2)Thread(Runnable target):参数对象target中实现run方法来初始化。
(3)Thread(String threadname):为新创建的线程对象指定名称。
线程优先级(1~10):
•MIN_PRIORITY:代表最小优先级,通常为1。
•NORM_PRIORITY:代表普通优先级,默认为5。
•MAX_PRIORITY:代表最高优先级,通常为10。
Thread类的常用方法如下:
(1)start():启动线程,使之从新建状态进入就绪排队状态。
(2)run():定义线程操作,用户程序需要定义run方法。
(3)sleep(int millsecond):使线程暂时休眠。
(4)setPriority(int newPrioriry):设置线程优先级(www.daowen.com)
【例9.1】 继承自Thread类创建线程实例。
上述程序的运行界面如图9.4所示。
图9.4 通过继承Thread类创建线程
2.实现Runnable接口
通过继承Thread类来创建线程有一个缺点,就是如果我们的类已经从一个类继承,就无法再继承Thread类。那么如何限制这个类必须包含这一方法呢?当然是使用接口,Java提供了接口java.lang.Runnable来支持这种方法。
Runnable接口只有一个方法run(),我们声明自己的类实现Runnable接口并提供这一方法,将线程代码写入其中,就完成了这一部分的任务。但是Runnable接口并没有任何对线程的支持,还必须创建Thread类的实例,这一点通过Thread类的构造函数public Thread(Runnable target)来实现。
【例9.2】 实现Runnable接口创建多线程。
上述程序的运行界面如图9.5所示。
图9.5 通过实现Runnable接口创建线程
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。