zoukankan      html  css  js  c++  java
  • 【Java并发】线程的顺序执行

     1 /**
     2  * 问题:有线程a、b、c,如何让它们顺序执行?
     3  * 方式一:可用Join()方法实现
     4  * 方式二:可用newSingleThreadExecutor()
     5  * Created by Smile on 2018/8/12.
     6  */
     7 public class ThreadByOrder {
     8 
     9     public static void main(String[] args) throws InterruptedException {
    10 
    11         Thread a = new Thread(new ThreadTest("a"));
    12         Thread b = new Thread(new ThreadTest("b"));
    13         Thread c = new Thread(new ThreadTest("c"));
    14 
    15         //方式一实现
    16         a.start();
    17         a.join();
    18         b.start();
    19         b.join();
    20         c.start();
    21 
    22         Thread d = new Thread(new ThreadTest("d"));
    23         Thread e = new Thread(new ThreadTest("e"));
    24         Thread f = new Thread(new ThreadTest("f"));
    25         //方式二实现
    26         ExecutorService singlePool = Executors.newSingleThreadExecutor();
    27         singlePool.submit(d);
    28         singlePool.submit(e);
    29         singlePool.submit(f);
    30         singlePool.shutdown();
    31     }
    32 
    33     static class ThreadTest implements Runnable{
    34 
    35         private String threadName;
    36 
    37         public ThreadTest(String name){
    38             this.threadName = name;
    39         }
    40 
    41         public ThreadTest() {
    42         }
    43 
    44         public void run() {
    45             if("a".equals(threadName)||"f".equals(threadName))
    46                 try {
    47                     Thread.sleep(5000);
    48                 } catch (InterruptedException e) {
    49                     e.printStackTrace();
    50                 }
    51             System.out.println("thread "+threadName+" is running...");
    52         }
    53     }
    54 }
  • 相关阅读:
    第一个爬虫和测试
    乒乓球比赛模拟分析
    appium入门
    node安装
    自动化测试---selenium
    自动化测试---元素定位
    Shell脚本
    Shell脚本的编写
    Linux安装jdk,mysql,tomcat
    Linux的简单使用
  • 原文地址:https://www.cnblogs.com/warmsmile/p/9461783.html
Copyright © 2011-2022 走看看