网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

java中怎么利用多线程批量执行任务

这期内容当中小编将会给大家带来有关java中怎么利用多线程批量执行任务,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

目前成都创新互联公司已为上千多家的企业提供了网站建设、域名、网络空间、成都网站托管、企业网站设计、永丰网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

import java.util.*;
import java.util.concurrent.*;

public class TestThread {

    public static void main(String[] args) throws ExecutionException, InterruptedException {
        System.out.println("----程序开始运行----");
        Date beginTime = new Date();

        // 创建一个线程池,容量为3
        ExecutorService pool = Executors.newFixedThreadPool(3);
        List> list = new LinkedList<>();
        // 创建10个有返回值的任务
        for (int i = 0; i < 10; i++) {
            Callable c = new MyCallable(i + " ");
            // 执行任务并获取Future对象
            Future f = pool.submit(c);
            list.add(f);
        }
        // 关闭线程池:会在所有任务执行完成后关闭线程池,但并不会阻塞程序运行
        pool.shutdown();

        // 获取所有并发任务的运行结果
        for (Future f : list) {
            System.out.println(">>>" + f.get());
        }

        System.out.println("----程序结束运行----,程序运行时间【" + (new Date().getTime() - beginTime.getTime()) + " 毫秒】");
    }
}

class MyCallable implements Callable {
    private String taskNum;

    MyCallable(String taskNum) {
        this.taskNum = taskNum;
    }

    public Object call() throws Exception {
        Date beginTime = new Date();
        System.out.println(">>>" + taskNum + "任务开始");
        Thread.sleep(new Random().nextInt(5000));
        System.out.println(">>>" + taskNum + "任务结束");
        return taskNum + "任务耗时:" + (new Date().getTime() - beginTime.getTime());
    }
}

上述就是小编为大家分享的java中怎么利用多线程批量执行任务了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


文章标题:java中怎么利用多线程批量执行任务
网站URL:http://bjjierui.cn/article/jhcssc.html