使用继承Thread类创建线程,则无法再继承其他类,因此,在实际开发中,更多的是通过实现Runnable接口来创建多线程。通过实现Runnable接口创建并启动线程的一般步骤如下:
(1)定义Runnable接口的实现类,重写线程的执行体run()方法。
(2)创建Runnable实现类的实例,并用这个实例作为Thread类构造方法的参数来创建Thread对象,该Thread对象即为线程对象。
(3)通过调用线程对象继承的start()方法启动线程。
【例6-2】
演示通过实现Runnable接口创建多线程。
下面通过一个银行取款案例来演示。
步骤1:定义一个银行取钱任务Withdraw Money Task1,操作一个给定银行账户类Bank Account对象,只要账户里还有钱,就一直取钱,每次取1元,如图6-5所示。
(https://www.xing528.com)
图6-5 实现Runnable接口的取钱任务Withdraw MoneyTask1类
Thread类public static void yield()方法用于暂停当前正在执行的线程,直接让出CPU使用权,进入就绪状态,等待再次调度,注意和sleep()方法的区别。
步骤2:创建并启动线程。测试用例如图6-6所示。

图6-6 创建并启动线程
(1)首先创建实现了Runnable接口的任务类的实例;接着将该实例对象作为Thread类构造方法参数创建Thread对象,创建后的Thread对象即为线程对象;最后通过调用该线程对象的start()方法启动线程。
(2)Thread类的构造方法public Thread(Runnable target,String name)通过接收一个实现Runnable接口的对象创建一个线程对象,同时为该线程设置线程名。构造方法public Thread(Runnable target)也用于创建一个线程对象,不过该线程的名称是自动生成的。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
