多线程————2————创建线程的第二种方法
2018-02-28 12:35
190 查看
多线程:
创建线程的第一种方式:继承Thread类。创建线程的第二种方式:实现Runnable接口。1,定义类实现Runnable接口。
2,覆盖接口中的run方法,将线程的任务代码封装到run方法中。
3,通过Thread类创建线程对象,并将Runnable接口的子类对象作为Thread类的构造函数的参数进行传递。
为什么?因为线程的任务都封装在Runnable接口子类对象的run方法中。
所以要在线程对象创建时就必须明确要运行的任务。4,调用线程对象的start方法开启线程。
实现Runnable接口的好处:
1,将线程的任务从线程的子类中分离出来,进行了单独的封装。
按照面向对象的思想将任务的封装成对象。
2,避免了java单继承的局限性。所以,创建线程的第二种方式较为常用。
创建线程的第一种方式:继承Thread类。创建线程的第二种方式:实现Runnable接口。1,定义类实现Runnable接口。
2,覆盖接口中的run方法,将线程的任务代码封装到run方法中。
3,通过Thread类创建线程对象,并将Runnable接口的子类对象作为Thread类的构造函数的参数进行传递。
为什么?因为线程的任务都封装在Runnable接口子类对象的run方法中。
所以要在线程对象创建时就必须明确要运行的任务。4,调用线程对象的start方法开启线程。
实现Runnable接口的好处:
1,将线程的任务从线程的子类中分离出来,进行了单独的封装。
按照面向对象的思想将任务的封装成对象。
2,避免了java单继承的局限性。所以,创建线程的第二种方式较为常用。
class Demo implements Runnable//extends Fu //准备扩展Demo类的功能,让其中的内容可以作为线程的任务执行。 //通过接口的形式完成。 { public void run() { show(); } public void show() { for(int x=0; x<20; x++) { System.out.println(Thread.currentThread().getName()+"....."+x); } } } class ThreadDemo { public static void main(String[] args) { Demo d = new Demo(); Thread t1 = new Thread(d); Thread t2 = new Thread(d); t1.start(); t2.start(); // Demo d1 = new Demo(); // Demo d2 = new Demo(); // d1.start(); // d2.start(); } }
相关文章推荐
- [Java] Thread 创建线程的第二种方法
- 多线程——线程的创建以及操作线程的相关方法简介
- 创建线程的第二种方法:实现Runnable接口
- 多线程创建 方法一: NSThread 创建线程的三种方式
- 多线程——线程的创建以及操作线程的相关方法简介
- 【搞懂Java多线程之一】多线程相关概念,线程生命周期以及线程创建方法
- Java多线程 创建线程的两种方法
- Java基础:多线程(1)--线程的概述、创建线程的方式、线程的多种状态、线程常用的方法
- 黑马程序员--04.多线程--03.【创建线程两种方法的对比】【多线程卖票案例设计】
- 多线程委托之跨线程问题分析--在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke(解决方法已更新)
- 理解iOS多线程应用的开发以及线程的创建方法
- Java多线程(一)——线程创建的两种方法
- 【多线程】1、创建线程的两种方法
- 多线程(创建线程的方法)
- 05-多线程(多线程创建的方式一-继承Thread类)1 2 06-多线程(Thread类中的方法&线程名称) 08-多线程(线程的状态)图解
- 创建多线程有几种方法?如何创建线程?
- java中线程创建的第二种方法
- C#构建多线程应用程序(1) —— 使用委托来自动创建次线程以实现异步方法的调用
- 多线程之线程创建的两种方法(Java)
- 多线程——创建线程方法之二(实现Runnable接口)