zoukankan      html  css  js  c++  java
  • Java8-Executors-No.01

    
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    import java.util.concurrent.TimeUnit;
    
    public class Executors1 {
    
        public static void main(String[] args) {
            test1(3);
    //        test1(7);
        }
    
        private static void test1(long seconds) {
            ExecutorService executor = Executors.newSingleThreadExecutor();
            executor.submit(() -> {
                try {
                    TimeUnit.SECONDS.sleep(seconds);
                    String name = Thread.currentThread().getName();
                    System.out.println("task finished: " + name);
                }
                catch (InterruptedException e) {
                    System.err.println("task interrupted");
                }
            });
            stop(executor);
        }
    
        static void stop(ExecutorService executor) {
            try {
                System.out.println("attempt to shutdown executor");
                executor.shutdown();
                executor.awaitTermination(5, TimeUnit.SECONDS);
            }
            catch (InterruptedException e) {
                System.err.println("termination interrupted");
            }
            finally {
                if (!executor.isTerminated()) {
                    System.err.println("killing non-finished tasks");
                }
                executor.shutdownNow();
                System.out.println("shutdown finished");
            }
        }
    }
    
  • 相关阅读:
    支持向量机(二)
    kafka partiton迁移方法与原理
    park和unpark
    Replicated State Machine和WAL
    thrift源码分析
    thrift使用和源码分析
    kafka源码环境搭建
    kafka指定partiton生产
    gradle构建scala
    kafka consumer代码梳理
  • 原文地址:https://www.cnblogs.com/bilaisheng/p/10210907.html
Copyright © 2011-2022 走看看