博客
关于我
线程的创建方式(四)
阅读量:274 次
发布时间:2019-03-01

本文共 1520 字,大约阅读时间需要 5 分钟。

多线程的创建方式(四)

在Java中,线程的创建可以通过多种方式实现,其中一种常见的方式是使用ExecutorService类。这种方式提供了灵活的线程池配置选项,适用于需要多线程执行任务的场景。

具体来说,使用ExecutorService可以通过以下步骤创建线程:

  • 创建线程池:通过调用Executors.newFixedThreadPool(n)创建一个固定大小的线程池,其中n表示线程池中保留的核心线程数。例如,Executors.newFixedThreadPool(10)会创建一个最多保留10个线程的线程池。

  • 配置线程池属性:可以通过线程池的方法设置线程池的属性,比如setCorePoolSize设置核心线程池的大小,setKeepAliveTime设置线程的保活时间等。

  • 执行任务:通过service.execute(task)提交一个Runnable任务执行,或者通过service.submit(result)提交一个带有返回值的Callable任务执行。

  • 关闭线程池:在不再需要线程池的情况下,调用service.shutdown()关闭线程池。

  • 需要注意的是,线程池的关闭操作是异步的,一次关闭操作只能关闭部分运行中的任务。在实际应用中,可能需要处理线程池关闭后的相关逻辑。

    以下是一个简单的示例代码:

    package com.ran;import java.util.concurrent.*; import java.util.concurrent.locks.ReentrantLock;public class ran {    public static void main(String[] args) {        ExecutorService service = Executors.newFixedThreadPool(10);        ThreadPoolExecutor service1 = (ThreadPoolExecutor) service;        // 设置线程池属性        service1.setCorePoolSize(15);        service1.setKeepAliveTime();        // 创建并执行Runnable任务        service.execute(new DuoXiancheng());        service.shutdown();        // 提交Callable任务        service.submit(new Callable() {            public Object call() {                // 可以执行其他任务                return null;            }        });    }}class DuoXiancheng implements Runnable {    @Override    public void run() {        for (int i = 0; i <= 100; i++) {            if (i % 2 == 0) {                System.out.println(Thread.currentThread().getName() + " " + i);            }        }    }}

    通过以上方式,可以轻松地创建和管理多线程任务,线程池提供了一种高效的多线程执行方式。

    转载地址:http://mkox.baihongyu.com/

    你可能感兴趣的文章
    POWER ENGLISH (6) - MODEL
    查看>>
    power english (1) —— passion
    查看>>
    Power English (1) 原文
    查看>>
    power English (3)原文
    查看>>
    POWER ENGLISH(7)- repetition
    查看>>
    SpringBoot中集成SpringBatch详细解析与实战示例(CSV文件读取十万条数据进行业务处理后写入Mysql数据库)
    查看>>
    powerbi 一张表在另外一张表中出现的数量_PowerBi之初步学习笔记
    查看>>
    QGIS怎样设置简体中文以及新建可编辑的多边形的图层
    查看>>
    PowerBuilder 使用自定义事件触发键盘Enter事件
    查看>>
    PowerCreatorCMS UploadResourcePic 任意文件上传漏洞复现
    查看>>
    PowerDesigner 使用的一些技巧(转)
    查看>>
    QGIS在Windows上下载安装与建立空间数据库连接
    查看>>
    PowerDesigner165安装婆姐汉花教程
    查看>>
    PowerDesigner使用教程:设置注释、默认值属性
    查看>>
    PowerDesigner使用教程:不显示背景网格
    查看>>
    PowerDesigner使用教程:创建数据模型以及导出
    查看>>
    PowerDesigner使用教程:右侧工具栏显示/隐藏
    查看>>
    PowerDesigner使用教程:导出sql文件以及解决中文乱码问题
    查看>>
    PowerDesigner使用教程:时间字段设置
    查看>>
    PowerDesigner使用教程:给字段添加唯一约束
    查看>>