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

简介: 在开发中,为了方便使用线程,需要随手开线程,最简单的做法就是采用匿名内部类方式使用多线程。   匿名内部类的格式:     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 黑泽明军
【转载文章务必保留出处和署名,谢谢!】
相关文章
|
安全 .NET 开发框架
|
安全
在多线程中使用静态方法是否有线程安全问题
类的成员分为两类,静态成员(static member)和实例成员(instance member)。静态成员属于类,实例成员则属于对象,即类的实例。     简单讨论一下在一个类中使用静态字段(static field)和静态方法(static method)是否会有线程安全问题。
753 0
|
安全 Java
常用的线程安全的类有哪些
Java并发包(java.util.concurrent)中还提供了更多的线程安全类和工具,如Semaphore、CountDownLatch、CyclicBarrier、ReadWriteLock等,可以根据具体的需求进一步选择。在并发编程中,正确使用和理解这些线程安全的类和工具是非常重要的,能够有效地提高程序的并发性能和安全性
623 0
|
安全
回顾以前的线程安全的类
回顾前面的线程安全问题(看看源码)   StringBuffer/StringBuilder   Vector   Hashtable   以及Collections中的让集合同步的方法 示例代码如下: 1 package cn.
801 0
|
Java 微服务
5.JUC线程高级-创建线程的第三种方式实现 Callable接口
创建执行线程的方式一共有四种: 继承Thread类 实现Runnable接口 实现Callable接口 使用线程池 1. 创建执行线程的方式三:实现Callable接口 此种方式相比于实现Runnable接口的方式: 可以有返回值 可以抛出异常 执行Callable方式,需要FutureTask 实现类的支持,用于接收运算结果。
1020 0
|
Java 调度
多线程的三种实现方式及静态代理模式
线程、进程与多线程 进程是执行程序的一次执行过程。通常在一个进程中可以包含若干个线程,一个进程中至少有一个线程。线程是cpu调度和执行的单位 线程就是独立的执行路径 在程序运行时,即使没有自己创建线程,后台也会有多个线程,如主线程,gc线程 main()称之为主线程,为系统的入口,用于执行整个程序
多线程详解p8、Lambda表达式
多线程详解p8、Lambda表达式
|
Java 调度
多线程的常见成员方法
多线程的常见成员方法
多线程的常见成员方法
|
5月前
|
Java 调度
多线程的实现和成员方法
本文介绍了并发编程与多线程的概念,解释了进程与线程的区别,以及多线程的多种实现方式。首先说明了传统单进程编程的局限性,引出多线程编程的需求。接着详细介绍了线程的基本概念,包括线程与进程的关系、线程的轻量化特性及其实现并发的能力。文中列举了三种实现多线程的方法:继承 `Thread` 类、实现 `Runnable` 接口以及使用 `Callable` 和 `Future` 接口,并对比了它们各自的优缺点。最后,文章还介绍了线程的一些常用方法
61 4

热门文章

最新文章