12.2.2实现Runnable接口创建多线程克服整端的方式:实现Runnable接口创建多线程为了克服这种端,Thread类提供了另外一个构造方法Thread(Runnabletarget),其中参数类型Runnable是一个接口,它只有一个run0方法。当通过Thread(Runnabletarget)构造方法创建线程对象时,只需为该方法传递一个实现了Runnable接口的对象,这样创建的线程将实现了Runnable接口中的runO方法作为运行代码,而不需要调用Thread类中的run0方法
12.2.2 实现Runnable接口创建多线程 为了克服这种弊端,Thread类提供了另外一个构造方法Thread(Runnable target) ,其中参数类型Runnable是一个接口,它只有一个run()方法。当通过 Thread(Runnable target)构造方法创建线程对象时,只需为该方法传递一个实现 了Runnable接口的对象,这样创建的线程将实现了Runnable接口中的run()方法 作为运行代码,而不需要调用Thread类中的run()方法。 克服弊端的方式:实现Runnable接口创建多线程
12.2.2实现Runnable接口创建多线程案例演示实现Runnable接口创建多线程下面通过一个案例演示如何通过实现Runnable接口的方式来创建多线程。具体步骤如下。步骤一:定义MyThreado3类实现Runnable接口,重写了Runnable接口中的run(方法。代码如下所示:classMyThreado3implementsRunnablefpublicvoidruno(//线程的代码段,当调用startO方法时,线程从此处开始执行while (true)(System.out.println("MyThread类的runO方法在运行");
12.2.2 实现Runnable接口创建多线程 class MyThread03 implements Runnable { public void run() {// 线程的代码段,当调用start()方法时,线程从此处开始执行 while (true) { System.out.println("MyThread类的run()方法在运行"); } } } 步骤一:定义MyThread03类实现Runnable接口,重写了Runnable接口中的run()方法。代码如 下所示: 下面通过一个案例演示如何通过实现Runnable接口的方式来创建多线程。具体步骤如下。 案例演示实现Runnable接口创建多线程
12.2.2实现Runnable接口创建多线程步骤二:定义mainO方法,创建MyThreado3的实例对象,调用Thread类的构造方法将MyThreado3类的实例对象作为参数传入,然后调用startO方法开启新线程执行MyThreado3类中的代码,而主线程继续执行main0方法中的代码。代码如下所示:publicclassExample03fpublic static void main(String args)(MyThread03myThread=newMyThread30;//创建MyThread03的实例对象Threadthread=newThread(myThread)I/创建线程对象thread.start(O);//开启线程,执行线程中的runO方法while (true) (System.out.println("main0方法在运行");
12.2.2 实现Runnable接口创建多线程 public class Example03 { public static void main(String[] args) { MyThread03 myThread = new MyThread03(); // 创建MyThread03的实例对象 Thread thread = new Thread(myThread); // 创建线程对象 thread.start(); // 开启线程,执行线程中的run()方法 while (true) { System.out.println("main()方法在运行"); } } } 步骤二:定义main()方法,创建MyThread03的实例对象,调用Thread类的构造方法将MyThread03 类的实例对象作为参数传入,然后调用start()方法开启新线程执行MyThread03类中的代码,而主线 程继续执行main()方法中的代码。代码如下所示:
12.2.2实现Runnable接口创建多线程运行结果运行代码,控制台显示的运行结果如下图所示。文Example03XRun:main()方法在运行nain()方法在运行main方法在运行main()方法在运行CMyThread类的run方法在运行MyThread类的run()方法在运行MyThread类的run方法在运行MMyThread类的run()方法在运行MvThread类的run方法在运行由图可知,main(方法和MyThreado3类中run(方法都执行了,说明文件12-3实现了多线程
12.2.2 实现Runnable接口创建多线程 运行结果 运行代码,控制台显示的运行结果如下图所示。 由图可知,main()方法和MyThread03类中run()方法都执行了,说明文件12-3实现了 多线程
12.2.3实现Callable接口创建多线程先定一个小目标!掌握实现Callable接口创建多线程,能够通过实现Callable接口的方式创建多线程
12.2.3 实现Callable接口创建多线程 先定一个小 目标! 掌握实现Callable接口创建多线程,能够通 过实现Callable接口的方式创建多线程