zoukankan      html  css  js  c++  java
  • java 多线程,T1 T2 T3 顺序执行

    一、程序设计

    1.抽象公共类PublicThread,具有先前线程属性previousThread、父类为Thread

    2.在PublicThread的run()方法中判断previousThread属性是否为null,如果不为null,执行previousThread的join()方法

    3.定义PublicThread的构造方法:1个空参 1个以previousThread为构造参数

    3.创建测试类ThreadOrder,创建三个PublicThread对象,进行测试

    二、代码实现

    PublicThread

    package org.zheng.thread;
    
    public class PublicThread extends Thread{
        private Thread previousThread = null;
        
        public PublicThread() {
            super();
        }
        
        public PublicThread(Thread previousThread) {
            super();
            this.previousThread = previousThread;
        }
        @Override
        public void run() {
            if(previousThread!=null){
                try {
                    previousThread.join();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            System.out.println(Thread.currentThread().getName());
        }
    }

    测试类ThreadTest

    package org.zheng.thread;
    
    public class ThreadTest {
    
        public static void main(String[] args) {
            Thread t1 = new PublicThread();
            t1.setName("T1");
            Thread t2 =  new PublicThread(t1);
            t2.setName("T2");
            Thread t3 = new PublicThread(t2);
            t3.setName("T3");
            
            t1.start();
            t2.start();
            t3.start();
        }
    
    }
  • 相关阅读:
    Vue3+Element-Plus-admin
    uniapp UI库推荐 uView官网/文档
    js 获取本月月初和月末时间操作
    el-dialog 无法弹出来
    Vue核心技术 Vue+Vue-Router+Vuex+SSR实战精讲
    sed 相关命令
    docker 启动 ubuntu
    vue 配置 history 模式
    typescript 相关
    fiddler 图片下载
  • 原文地址:https://www.cnblogs.com/zhengwenqiang/p/7708360.html
Copyright © 2011-2022 走看看