匿名内部类方式使用多线程

简介: 在开发中,为了方便使用线程,需要随手开线程,最简单的做法就是采用匿名内部类方式使用多线程。   匿名内部类的格式:     new 类名或者接口名() {       重写方法;     }   本质:是该类的子类对象或者该接口的实现类对象。

在开发中,为了方便使用线程,需要随手开线程,最简单的做法就是采用匿名内部类方式使用多线程
  匿名内部类的格式:
    new 类名或者接口名() {
      重写方法;
    }
  本质:是该类的子类对象或者该接口的实现类对象
    new Thread() {代码...}.start();
    new Thread(new Runnable() {代码...}) {}.start();
示例代码如下:

 1 package cn.itcast_11;
 2 
 3 /*
 4  * 匿名内部类的格式:
 5  *         new 类名或者接口名() {
 6  *             重写方法;
 7  *         }
 8  * 
 9  *         本质:是该类的子类对象或者该接口的实现类对象。
10  */
11 public class ThreadDemo {
12     public static void main(String[] args) {
13         // 继承Thread类来实现多线程
14         new Thread() {
15             @Override
16             public void run() {
17                 for (int x = 0; x < 100; x++) {
18                     System.out.println(Thread.currentThread().getName() + ":" + x);
19                 }
20             }
21         }.start();
22 
23         // 实现Runnable接口来实现多线程
24         new Thread(new Runnable() {
25             @Override
26             public void run() {
27                 for (int x = 0; x < 100; x++) {
28                     System.out.println(Thread.currentThread().getName() + ":" + x);
29                 }
30             }
31         }) {
32         }.start();
33 
34         // 面试题
35         // 到底执行的是Thread类的子类对象的run(),还是执行的是Runnable接口的实现类对象的run()呢? 答:是Thread类的子类对象的run() world
36         new Thread(new Runnable() {
37             @Override
38             public void run() {
39                 for (int x = 0; x < 100; x++) {
40                     System.out.println("hello" + ":" + x);
41                 }
42             }
43         }) {
44             @Override
45             public void run() {
46                 for (int x = 0; x < 100; x++) {
47                     System.out.println("world" + ":" + x);
48                 }
49             }
50         }.start();
51         
52     }
53 }

 

我的GitHub地址: https://github.com/heizemingjun
我的博客园地址: http://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun
Copyright ©2018 黑泽明军
【转载文章务必保留出处和署名,谢谢!】
相关文章
|
28天前
|
Java 调度
多线程的实现和成员方法
本文介绍了并发编程与多线程的概念,解释了进程与线程的区别,以及多线程的多种实现方式。首先说明了传统单进程编程的局限性,引出多线程编程的需求。接着详细介绍了线程的基本概念,包括线程与进程的关系、线程的轻量化特性及其实现并发的能力。文中列举了三种实现多线程的方法:继承 `Thread` 类、实现 `Runnable` 接口以及使用 `Callable` 和 `Future` 接口,并对比了它们各自的优缺点。最后,文章还介绍了线程的一些常用方法
34 4
|
2月前
|
Java
【多线程面试题十五】、synchronized可以修饰静态方法和静态代码块吗?
这篇文章讨论了Java中的`synchronized`关键字是否可以修饰静态方法和静态代码块,指出`synchronized`可以修饰静态方法,创建一个类全局锁,但不能修饰静态代码块。
|
3月前
|
Java 程序员
深入理解Java匿名内部类的语法和使用场景
深入理解Java匿名内部类的语法和使用场景
|
12月前
|
Java API Go
线程介绍,线程与进程区别,如何使用多线程,Thread类,Runnable接口,补充知识(方法重载,方法重写)
线程介绍,线程与进程区别,如何使用多线程,Thread类,Runnable接口,补充知识(方法重载,方法重写)
|
Java 调度
多线程的常见成员方法
多线程的常见成员方法
多线程的常见成员方法
|
Java
多线程的创建的方式一:继承于Thread类
多线程的创建的方式一:继承于Thread类
44 0
创建多线程的方式三:实现Callable接口。
创建多线程的方式三:实现Callable接口。
63 0
多线程详解p8、Lambda表达式
多线程详解p8、Lambda表达式