[置顶]Java中 实现多线程成的三种方式(继承,实现,匿名内部类)
来源:互联网 发布:linux配置网络 编辑:程序博客网 时间:2024/05/29 18:38
------------------------------------------------------------------------------------------------------------
1 /** 第一种方式:继承Thread类 2 3 * 1. 定义一个类,然后让该类继承Thread类 4 5 * 2. 重写run方法 6 7 * 3. 创建定义的这个类的对象 8 9 * 4. 启动线程10 11 */12 13 //继承Thread类14 15 public class MyThread extends Thread{16 17 public MyThread() {}18 19 public MyThread(String name) {20 super(name);21 }22 23 //run方法中封装的应该是要被线程执行的代码 ,run方法中代码的原则,一般存方的都是比较耗时的代码24 public void run (){25 26 for (int i = 0; i < 200; i++) {27 28 System.out.println(Thread.currentThread().getName() + "---" + i);29 }30 } 31 }32 33 //测试方法34 35 private static void Test() {36 37 // 创建对象38 MyThread mt1 = new MyThread();39 MyThread mt2 = new MyThread();40 41 42 //启动线程43 // public void start()使该线程开始执行;Java 虚拟机调用该线程的 run 方法。44 mt1.start();45 //mt1.start();// 线程的启动只能是一次46 mt2.start();47 48 }
------------------------------------------------------------------------------------------------------------
1 /** 第二种方式:实现Runnable接口 2 避免了单线程带来的困扰 3 * (1): 创建一个类,让该类实现Runnable接口 4 5 * (2): 重写run方法 6 7 * (3): 创建该类的对象 8 9 * (4): 创建Thread类的对象,然后把3中的对象作为参数传递给Thread10 11 * (5): 启动线程12 13 */14 15 //实现Runnable接口16 17 public class MyThread2 implements Runnable {18 19 public MyThread2() {20 super();21 }22 23 public void run() {24 25 for(int x = 0 ; x < 200 ; x++){26 27 System.out.println(Thread.currentThread().getName() + "---" + x);28 }29 }30 }31 32 //测试方法33 34 private static void Test2() {35 36 // 创建MyThread的对象37 MyThread2 mt = new MyThread2();38 // 创建Thread类的对象,然后把3中的对象作为参数传递给Thread39 // public Thread(Runnable target)40 Thread t1 = new Thread(mt,"张飞");41 Thread t2 = new Thread(mt,"关羽");42 Thread t3 = new Thread(mt,"刘备");43 // 启动线程44 t1.start() ;45 t2.start() ;46 t3.start() ;47 }
------------------------------------------------------------------------------------------------------------
1 /** 第三种方式:使用匿名内部类的方式实现 2 很少见 3 * new 类名/接口名() { 4 5 * 方法重写 ; 6 7 * } ; 8 9 */10 11 //测试方法12 13 //匿名内部类14 15 @Test16 private static void Test3() {17 18 new Thread() {19 public void run() {20 System.out.println("线程执行了。。。。。。。");21 }22 }.start();23 }
------------------------------------------------------------------------------------------------------------
0 0
- [置顶]Java中 实现多线程成的三种方式(继承,实现,匿名内部类)
- java中匿名内部类的两种实现方式
- java中匿名内部类的两种实现方式
- 多线程(匿名内部类的方式实现多线程程序)
- java中匿名内部类的两种实现方式 (引用)
- 多线程_匿名内部类的方式实现多线程程序
- 多线程-匿名内部类的方式实现多线程程序
- Java多线程 匿名内部类实现多线程
- 【我的Java笔记】多线程_使用匿名内部类的方式实现多线程
- 【引用】java中匿名内部类的两种实现方式
- 2种方式实现匿名内部类(实现接口和继承父类)
- 内部类实现方式的比较(匿名内部类,局部内部类)
- java 匿名内部类说明 及其多线程实现继承Thread,实现Runnable
- 从零开始学Android之监听器实现监听动作的三种方式(匿名内部类,独立类,接口方式)
- Java中使用匿名内部类创建多线程的3种方式
- 匿名内部类实现多线程,内部类调用外部方法中定义的变量
- Java内部类+匿名内部类详解+内部类实现多重继承
- Java进阶(四十二)Java中多线程使用匿名内部类的方式进行创建3种方式
- 网络编程3要素
- 设计模式概述 + 分类
- 反射--(代码实现)
- [置顶]MySQL 的相关语句(增删改查)(SQLyog软件实现)
- [置顶]XML 概述 (可扩展标记语言)
- [置顶]Java中 实现多线程成的三种方式(继承,实现,匿名内部类)
- [置顶]数据类型转换(面试题)
- [置顶]JDBC快速入门
- [置顶]单例设计模式 (代码实现)
- [置顶]pull解析器: 反序列化与序列化
- struts2出现Could not find action or result的错误原因
- [置顶]Servlet的生命周期+实现方式
- [置顶]Request 和 Response 原理
- [置顶]会话技术( Cookie ,Session)