文档详情

第5章多线程_补充案例.doc

发布:2016-11-22约1.24万字共18页下载文档
文本预览下载声明
第五章 补充案例 继承Thread类创建多线程 一、案例描述 考核知识点 编 号名 称:继承Thread类创建多线程 练习目标 掌握如何通过继承Thread类实现多线程的创建。 掌握Thread类中run()方法和start()方法的使用。 需求分析 在程序开发中,会遇到一个功能需要多个线程同时执行才能完成的情况。这时,可以通过继承线程类Thread,并重写Thread类中的run()方法来实现。为了让初学者熟悉如何创建多线程,在案例中将通过继承Thread类方式创建线程,并实现多线程分别打印0~99的数字的功能。 设计思路(实现原理) 自定义一个类Demo,使其继承Thread类。 在Demo类中重写run()方法,在run()方法内编写一个for循环,循环体内打印:“Demo:”+当前循环次数。 编写测试类Example01,在Example01类的main()方法中,创建一个Demo对象,并执行其 start()方法,接着编写一个for循环,循环体内打印:“main:”+当前循环次数。 二、案例实现 class Demo extends Thread { public void run() { for (int x = 0; x 100; x++) { System.out.println(Demo:+x); } } } public class Example01{ public static void main(String[] args) { Demo d = new Demo(); d.start(); for(int x=0; x100; x++){ System.out.println(main:+x); } } } 运行结果如图5-1所示。 运行结果 三、案例总结 1、通过继承Thread类,并重写Thread类中的run()方法可以实现多线程。 2、Thread类中,提供的start()方法用于启动新线程,线程启动后,系统会自动调用run()方法。 3、main()方法中有一条主线程在运行。 实现Runnable接口创建多线程 一、案例描述 考核知识点 编 号名 称:实现Runnable接口创建多线程 练习目标 掌握如何通过实现Runnable接口方式创建多线程。 掌握如何使用Thread类的有参构造方法创建Thread对象。 需求分析 在Java中只支持单继承,因此通过继承Thread类创建线程有一定的局限性,这时可以使用另一种方式,即实现Runnable接口来创建线程。通过这种方式需要在Thread(Runnable target)的构造方法中,传递一个实现了Runnable接口的实例对象。接下来在案例中将通过实现Runnable接口方式创建线程,并实现多线程分别打印0~99的数字的功能。 设计思路(实现原理) 自定义一个类Demo,使其实现Runnable接口。 在Demo类中覆写run()方法,在方法编写一个for循环,循环体内打印:当前线程名称:+当前循环次数。 编写测试类Example02,在Example02类的main()方法中,创建一个Demo对象,利用Thread(Runnable target)构造方法创建2个线程对象,分别命名为“蜘蛛侠”和“钢铁侠”,并执行线程对象的start()方法,同时编写for循环,循环内打印“main:”+当前循环次数。 二、案例实现 class Demo implements Runnable { public void run() { for(int x=0; x100; x++){ System.out.println(Thread.currentThread().getName()+:+x); } } } public class Example02 { public static void main(String[] args) { Demo d = new Demo(); Thread t1 = new Thread(d,蜘蛛侠); Thread t2 = new Thread(d,钢铁侠); t1.start(); t2.start(); for (int x = 0; x 100; x++) { System.out.println(main: + x); } } } 运行结果如图5-2所示。 运行结果 三、案例总结 1、可以把实现了Runnable接口并重写run()方法的实例对象,作为Thread有参构造方法的参数来创建多线程程序。 2、使用Thread类
显示全部
相似文档