`

Java 利用线程池创建并发线程

阅读更多

import java.util.concurrent.ArrayBlockingQueue;

import java.util.concurrent.ThreadPoolExecutor;

import java.util.concurrent.TimeUnit;

 

public class ThreadPoolExecutorUtil {

 

// 池中所保存的线程数,包括空闲线程

private static final int corePoolSize = 10;

// 池中允许的最大线程数

private static final int maximumPoolSize = 100;

// 当线程数大于核心时,此为终止前多余的空闲线程等待新任务的最长时间(目前设为1800秒即30分钟)

private static final int keepAliveTime = 1800;

// 执行前用于保持任务的队列

private static final int blockingQueueSize = 10;

// 参数的时间单位

private static final TimeUnit unit = TimeUnit.SECONDS;

 

private static ThreadPoolExecutor threadPool = null;

 

/**

* 获取线程池的单例

* @return

*/

public static ThreadPoolExecutor getPoolInstance() {

if (threadPool == null) {

synchronized (ThreadPoolExecutor.class) {

// 实例化线程池

threadPool = new ThreadPoolExecutor(corePoolSize,

maximumPoolSize, keepAliveTime, unit,

new ArrayBlockingQueue<Runnable>(blockingQueueSize),

new ThreadPoolExecutor.DiscardOldestPolicy());

}

}

// 返程线程池的实例化对象

return threadPool;

}

public static void main(String[] args) {

for (int i = 0; i < 10; i++) {

// 实例化线程池

ThreadPoolExecutor threadPool = ThreadPoolExecutorUtil

.getPoolInstance();

// 触发并行线程的运行

threadPool.execute(new SingleThread(i+""));

}

}

 

}

 

class SingleThread implements Runnable {

private String name = null;

public SingleThread(String name) {

this.name = name;

}

 

public void run() {

System.out.println("parallel run..." + name);

}

}

分享到:
评论

相关推荐

    JAVA使用线程池查询大批量数据

    在Java开发中,处理大批量数据时,合理利用线程池可以显著提高程序的执行效率和资源利用率。本文将深入探讨如何在Java中使用线程池来查询大量数据,以及这样做的好处和实现方法。 首先,理解线程池的概念至关重要。...

    线程池的多线程并发控制技术研究

    线程池的多线程并发控制技术研究.caj 线程池的多线程并发控制技术研究.caj 线程池的多线程并发控制技术研究.caj

    JAVA经典线程池源码

    Java线程池是Java并发编程中的重要组成部分,它在多线程编程中扮演着至关重要的角色,有效地管理和调度线程资源,提高了程序的性能和稳定性。本资源包含了一个经典的Java线程池实现,适用于大型项目,能帮助开发者...

    java多线程,对多线程,线程池进行封装,方便使用

    1. **线程创建和销毁成本** 创建和销毁线程是有一定开销的,包括虚拟内存分配、上下文切换等。线程池通过重用已存在的线程,避免了频繁创建和销毁线程带来的性能损失。 2. **资源管理** 线程池可以限制系统中并发...

    java线程池使用后到底要关闭吗

    java线程池是一种高效的并发编程技术,可以帮助开发者更好地管理线程资源,提高系统的性能和可靠性。然而,在使用java线程池时,一个常见的问题是:使用完线程池后到底要不要关闭?本文将通过实例代码和详细解释,...

    线程池管理多线程上传

    在Java等编程语言中,线程池通过有效地管理和复用线程资源,避免了频繁创建和销毁线程带来的开销,提升了系统性能。下面将详细讲解线程池的核心概念、工作原理以及如何应用于文件上传场景。 1. **线程池核心概念**...

    java线程池完整代码

    Java 线程池是 Java 语言中的一个重要概念,它允许开发者创建和管理多个线程,以提高程序的并发性和性能。下面是对给定文件的解析,包括 title、description、标签和部分内容的解析。 标题解析 标题 "Java 线程池...

    java多线程查询数据库

    本文将详细探讨如何利用Java的多线程技术和线程池来实现并发查询数据库,以及相关的文件`BatchDataUtil.java`和`BatchDataRunnable.java`可能涉及的关键知识点。 ### 1. 多线程并发查询 多线程并发查询允许我们将一...

    java 线程池实现多并发队列后进先出

    Java线程池是一种高效管理并发任务的机制,它允许开发者预先配置一定数量的线程,以便在处理多个并发任务时能有效地复用这些线程,从而避免了频繁创建和销毁线程带来的开销。在Java中,`java.util.concurrent`包下的...

    java线程池封装j

    Java线程池是一种高效管理线程的技术,它允许开发者预定义一组线程,根据任务的需要灵活调度,而不是每次需要执行任务时都创建新的线程。这种设计模式大大提高了系统的性能,减少了系统资源的消耗,特别是在高并发...

    java线程、线程池、xml解析入门

    在学习这些知识时,初学者可以通过创建简单的多线程程序来实践,比如实现一个生产者消费者模型,或者利用线程池处理并发请求。对于XML解析,可以尝试读取和解析配置文件,或者通过XML与Java对象之间的绑定进行数据...

    tcp_thread_java.zip_Java 线程池_java TCP线程

    线程池会调度线程来处理这些任务,避免了因大量并发连接导致的线程创建和销毁开销。 `TCPService.java`可能是一个实现了处理TCP连接逻辑的类。它可能会继承自`Runnable`接口,重写`run()`方法以处理客户端发送的...

    java 线程池源代码

    Java线程池是一种高效管理线程的机制,它允许开发者预先创建一定数量的线程,然后根据需求将任务提交到线程池中进行执行。线程池的核心在于它能够有效地控制运行的线程数量,避免因为频繁创建和销毁线程而产生的性能...

    Java 模拟线程并发

    除了基本的线程创建,Java还提供了synchronized关键字用于线程同步,防止多个线程同时访问共享资源导致数据不一致。synchronized可以修饰方法或代码块,当一个线程正在执行synchronized代码时,其他线程必须等待。 ...

    java_thread_cn.rar_Java 线程池_java thread books_java线程_线程池_线程池调度

    Java线程池是Java并发编程中的重要组成部分,它在多线程编程中扮演着至关重要的角色,有效地管理和调度了大量的并发任务。线程池通过预先创建并维护一组可重用线程,来提升程序的性能和效率,避免了频繁地创建和销毁...

    Java 线程池的原理与实现

    Java线程池是一种高级的多线程处理框架,它是Java并发编程中非常重要的一个组件。线程池的原理和实现涉及到操作系统调度、内存管理和并发控制等多个方面。理解线程池的工作原理有助于优化程序性能,避免过度创建和...

    MultiThread_并发_java_线程池_

    三、Java线程池 1. ExecutorService接口:线程池的核心接口,提供了创建、管理和控制线程池的方法,如execute()用于提交任务,shutdown()用于关闭线程池。 2. ThreadPoolExecutor类:实现了ExecutorService接口,...

    java多线程、并发及线程池介绍收藏的几篇文档

    - `ExecutorService`和`ThreadPoolExecutor`是Java线程池的实现,可以有效地管理线程资源,避免频繁创建和销毁线程的开销。 4. **线程池的介绍及简单实现** - 线程池可以预先创建一定数量的线程,处理多个任务,...

    创建Java程序中线程池的详解

    Java 程序中频繁地创建和销毁线程,会带来很大的性能...总之,线程池是Java并发编程中非常重要的工具,通过合理利用线程池,可以有效地管理线程,提高系统的资源利用率,降低系统的响应时间,提高系统的并发处理能力。

    java线程池的源码分析.zip

    Java线程池是Java并发编程中的重要组成部分,它在多线程和高并发场景下扮演着关键角色。本文将深入探讨Java线程池的源码分析,并对比不同类型的线程池,以帮助开发者更好地理解和利用这一强大的工具。 首先,我们要...

Global site tag (gtag.js) - Google Analytics