首页 > 其他分享 >使用线程实现ACB的顺序输出

使用线程实现ACB的顺序输出

时间:2023-08-14 19:12:41浏览次数:34  
标签:ACB 顺序 Thread void class 线程 new Foo public

在java中可以使用join方法来实现,join会阻塞当前方法,调用的当前方法执行结束后,才会继续往下执行!

public class Foo {

    public Foo() {
    }

    public void A(){
        System.out.println("A");
    }

    public void B(){
        System.out.println("B");
    }

    public void C(){
        System.out.println("C");
    }
}
public class SortContent {


    public static void main(String[] args) throws InterruptedException {


        Thread ta= new ThreadA();
        Thread tb= new ThreadB();
        Thread tc= new ThreadC();

//使用匿名内部类建立多线程
//        Thread ta= new Thread(()->new Foo().A());
// Thread tB= new Thread(()->new Foo().B());
// Thread tC= new Thread(()->new Foo().C());
ta.start(); ta.join(); tc.start(); tc.join(); tb.start(); } }
//继承thread类实现 class ThreadA extends Thread{ @Override public void run(){ new Foo().A(); } } class ThreadB extends Thread{ @Override public void run(){ new Foo().B(); } } class ThreadC extends Thread{ @Override public void run(){ new Foo().C(); } }

 

标签:ACB,顺序,Thread,void,class,线程,new,Foo,public
From: https://www.cnblogs.com/developS/p/17629496.html

相关文章

  • 创建线程的有哪些方式?创建线程的三种方式的对比?
    ##引言多线程编程是现代软件开发中的重要部分之一。通过利用多线程可以提高程序的并发性和响应能力。在Java中,创建线程的方式有多种,每种方式各有优缺点。本文将介绍创建线程的三种主要方式,并对它们进行比较和对比。继承Thread类继承Thread类是创建线程的一种常见方式。它的特点......
  • .net中如何证明List<int>是线程非安全的
      我们可以通过以下代码来验证List<int>为何是线程非安全的,执行以下代码,然后查看输出结果。  staticvoidMain(){vartoCount=100;#regionlist线程非安全varlist=newList<int>();//并行添加元素Parallel......
  • 聊聊 Java 虚拟线程
    转载:https://www.modb.pro/db/633787Java虚拟线程(VirtualThreads)是Java平台上的一个新特性,它们是一种轻量级的执行上下文,可以更高效地利用CPU资源,提高程序的并发性能。在本文中,我们将探讨Java虚拟线程的概念、设计原理、使用场景以及与传统线程的比较等方面。什么是Java......
  • 汪文君->多线程教程
    汪文君-多线程教程第一阶段多线程介绍多线程编程入门多线程创建与启动以及线程状态Runnable接口详细详解线程优先级以及守护线程详解线程同步线程间通讯线程组详解自运行对象详解线程异常回调线程池详解等待线程完成任务阻塞io和多线程详解如何优雅的结束线程自定......
  • 8.0 Python 使用进程与线程
    python进程与线程是并发编程的两种常见方式。进程是操作系统中的一个基本概念,表示程序在操作系统中的一次执行过程,拥有独立的地址空间、资源、优先级等属性。线程是进程中的一条执行路径,可以看做是轻量级的进程,与同一个进程中的其他线程共享相同的地址空间和资源。线程和进程都......
  • 8.0 Python 使用进程与线程
    python进程与线程是并发编程的两种常见方式。进程是操作系统中的一个基本概念,表示程序在操作系统中的一次执行过程,拥有独立的地址空间、资源、优先级等属性。线程是进程中的一条执行路径,可以看做是轻量级的进程,与同一个进程中的其他线程共享相同的地址空间和资源。线程和进程都可......
  • C# System.InvalidOperationException:“线程间操作无效: 从不是创建控件“****”的线
     在程序主入口,构造函数加载时,添加如下代码//如果捕获了对错误线程的调用,则为true;否则为falseSystem.Windows.Forms.Control.CheckForIllegalCrossThreadCalls=false;解释:多线程程序中,新创建的线程不能访问UI线程创建的窗口控件,这时如果想要访问窗口的控......
  • 多线程
    多线程1.概述程序是指令和数据的有序集合,是一个静态的概念进程是执行程序的一次执行概念,是一个动态的概念线程是CPU调度和执行的单位,一个进程至少有一个线程2.Thread2.1创建线程2.1.1extendsThread两条线程是并行交替执行线程不一定立即执行packagedemo01;p......
  • 多线程
    1.基础进程和线程并行和并发创建线程的方式线程状态如何保证线程的执行顺序wait和sleep方法的不同如何打断正在运行的线程2.并发安全synchronized底层原理首先它是一个对象锁,重量级锁和锁升级是什么为什么需要轻量级锁因为有些线程是交替执行的,不用竞争3.......
  • 使用 transmittable-thread-local 组件解决 ThreadLocal 父子线程数据传递问题
    在某个项目中,需要使用mybatis-plus多租户功能以便数据隔离,前端将租户id传到后端,后端通过拦截器将该租户id设置到ThreadLocal以便后续使用,代码大体上如下所示:ThreadLocal<Integer>threadLocal=newInheritableThreadLocal<>();threadLocal.set(1);Java 我在Controlle......