zoukankan      html  css  js  c++  java
  • 【多线程实现方案三:实现Callable 接口】

    多线程实现的方式三:

    A:创建一个线程池对象,控制要创建几个线程对象。

      public static ExecutorService newFixedThreadPool(int nThreads)

    B:做一个类实现Callable接口。

    C:调用如下方法即可

      Future<?> submit(Runnable task)

      <T> Future<T> submit(Callable<T> task)

    D:我就要结束,可以吗?

      可以。

    package com.test;
    
    import java.util.concurrent.Callable;
    
    public class MyCallable implements Callable<Integer> {
    
        private int number;
    
        public MyCallable(int number){
            this.number = number;
        }
    
        @Override
        public Integer call() throws Exception {
            int sum = 0;
    
            for(int x=1;x<=number;x++){
                sum +=x;
            }
    
            return sum;
        }
    }
    package com.test;
    
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    import java.util.concurrent.Future;
    
    public class CallableTest {
    
        public static void main(String[] args) throws
                InterruptedException, ExecutionException {
    
            /**创建线程池对象*/
            ExecutorService pool = Executors.newFixedThreadPool(2);
    
            /**可以执行Runnable对象或者Callable对象代表的线程*/
            Future<Integer> f1 = pool.submit(new MyCallable(100));
            Future<Integer> f2 = pool.submit(new MyCallable(200));
    
            /**V get()*/
            Integer i1 = f1.get();
            Integer i2 = f2.get();
            System.out.println(i1);
            System.out.println(i2);
    
            /**结束*/
            pool.shutdown();
    
        }
    
    }

    运行结果:

    5050
    20100
    终身学习者
  • 相关阅读:
    浏览器页面呈现过程
    Function与Object
    前端性能优化方案
    CSS引入方式
    浏览器事件
    Js继承的实现方式
    H5页面 绝对定位元素被 软键盘弹出时顶起
    总结angular+ionic项目中的问题
    vue开发学习中遇到的问题以及解决方法
    css重修之书(一):如何用css制作比1px更细的边框
  • 原文地址:https://www.cnblogs.com/zuixinxian/p/9576490.html
Copyright © 2011-2022 走看看