`
cloudeagle_bupt
  • 浏览: 568830 次
文章分类
社区版块
存档分类
最新评论

Java线程池适用范围

 
阅读更多


查自API文档:

ExecutorServicethreadPool=Executors.newFixedThreadPool(3);//创建可以容纳3个线程的线程池

newFixedThreadPool:

  • Creates a thread pool that reuses a fixed number of threads operating off a shared unbounded queue. At any point, at most nThreads threads will be active processing tasks. If additional tasks are submitted when all threads are active, they will wait in the queue until a thread is available. If any thread terminates due to a failure during execution prior to shutdown, a new one will take its place if needed to execute subsequent tasks. The threads in the pool will exist until it is explicitly shutdown.

newCachedThreadPool:

  • Creates a thread pool that creates new threads as needed, but will reuse previously constructed threads when they are available. These pools will typically improve the performance of programs that execute many short-lived asynchronous tasks. Calls to execute will reuse previously constructed threads if available. If no existing thread is available, a new thread will be created and added to the pool. Threads that have not been used for sixty seconds are terminated and removed from the cache. Thus, a pool that remains idle for long enough will not consume any resources. Note that pools with similar properties but different details (for example, timeout parameters) may be created using ThreadPoolExecutor constructors.

newSingleThreadExecutor:

  • Creates an Executor that uses a single worker thread operating off an unbounded queue. (Note however that if this single thread terminates due to a failure during execution prior to shutdown, a new one will take its place if needed to execute subsequent tasks.) Tasks are guaranteed to execute sequentially, and no more than one task will be active at any given time. Unlike the otherwise equivalent newFixedThreadPool(1) the returned executor is guaranteed not to be reconfigurable to use additional threads.
newScheduledThreadPool:

  • Creates a thread pool that can schedule commands to run after a given delay, or to execute periodically.


分享到:
评论

相关推荐

    线程池与工作队列--Java 理论与实践

    ### 线程池与工作队列:Java理论与实践 #### 一、线程池的概念及重要性 线程池是一种广泛应用于服务器应用程序的技术,主要用于优化资源利用效率,提高程序响应速度,并确保系统的稳定性和可靠性。在多线程编程...

    socket线程池

    2. **监控线程**(Monitor Thread):如`MonitorRunnable`,负责监控线程池的状态,检查并调整线程数量,确保线程池的规模保持在指定范围内。当线程池中的空闲线程数量低于最小值时,它会创建新的线程;反之,如果...

    关于线程(java)两天的课件

    线程池是Java中处理大量并发线程的有效工具。通过Executor框架,我们可以创建不同类型的线程池,如FixedThreadPool、SingleThreadExecutor、CachedThreadPool和ScheduledThreadPool。线程池可以避免频繁创建和销毁...

    Java并发编程的艺术

    #### 九、Java线程池的实现与使用建议 第九章探讨了Java中的线程池实现原理和使用技巧。线程池是一种管理线程的有效机制,可以显著提高应用程序的性能和可维护性。本章首先介绍了线程池的基本概念,然后详细讨论了...

    Java调度原理及使用

    3. **定时调度**:Java的`ScheduledExecutorService`允许设置延迟和周期性执行任务,适用于需要定时触发的场景。 四、线程池与并发控制 Java的`ExecutorService`和`ThreadPoolExecutor`提供了一种有效管理线程的...

    北大青鸟Java高级特性

    这些高级特性不仅让Java程序员能够编写出更加健壮、高效的代码,还极大地扩展了Java的适用范围。通过北大青鸟的Java高级特性课程,初学者将有机会深入理解和掌握这些关键概念,提升自己的编程技能。练习及答案、授课...

    2020年最新Java面试题.pdf

    面试中可能会询问线程的生命周期、如何创建线程、线程安全问题、同步机制(包括synchronized关键字和java.util.concurrent包下的并发工具类)以及线程池的使用等。理解这些知识点对于开发高性能的Java应用程序至关...

    java解惑(最具影响力的JAVA书籍)

    Java编程语言以其强大的功能、跨平台性和丰富的库而闻名,是全球范围内许多企业和开发者首选的开发工具。"Java解惑"这本书籍旨在帮助程序员解决在实际编程过程中遇到的困惑和难题,通过深入浅出地解释那些看似出乎...

    28个java常用的工具类源码

    10. **`java.util.concurrent.*`**:并发工具类库,包括线程池`ExecutorService`、同步容器如`Semaphore`、`CountDownLatch`、`CyclicBarrier`等,以及原子类如`AtomicInteger`、`AtomicLong`,它们提供了高效的并发...

    JAVA并发编程实践

    - **ReadWriteLock**:读写锁,允许多个读锁存在但只有一个写锁,适用于读多写少的情况。 #### 2.2 原子操作 - **Atomic类族**:如`AtomicInteger`、`AtomicLong`等,提供了基本数据类型的原子更新功能。 - **...

    java文本搜索算法

    本文档介绍了一种使用Java实现的多线程文本搜索算法,特别适用于在多个文本文件中快速查找指定字符串。 1. **多线程搜索**: 为了提高搜索效率,这个算法利用了Java的并发库,具体来说是`ThreadPoolExecutor`类。...

    java网络编程精讲

    - 可以使用Java的线程池来管理这些线程,以减少线程创建和销毁带来的开销。 2. **非阻塞I/O**: - 阻塞I/O在等待I/O操作完成时会导致线程阻塞,而非阻塞I/O则不会阻塞线程,可以提高程序的响应速度。 - Java NIO...

    java-使用java开发的find查找工具

    Java是一种广泛使用的编程语言,以其跨平台性和丰富的类库闻名。在Java中开发查找工具,可以利用其强大的I/O操作...这个工具不仅适用于开发者,也适用于日常的文件管理,体现了Java作为通用编程语言的灵活性和实用性。

    Java多线程编程总结

    #### 十二、Java线程:新特征-线程池 - 线程池是一种管理线程的机制,可以复用预创建的线程,减少线程创建和销毁的开销。 - `ExecutorService` 接口和其实现类提供了创建和管理线程池的功能。 #### 十三、Java线程...

    sun公司java模拟试题

    在Java编程领域,Sun Microsystems(后被Oracle公司收购)推出的Java认证是全球范围内广受认可的专业资质之一,对于程序员和开发者来说,这个认证是提升职业技能、展示技术实力的重要途径。"SUN+JAVA认证题库"正是...

    java offer来了原理篇.pdf

    冒泡排序、插入排序、快速排序、希尔排序、归并排序、桶排序和基数排序等则是基础的排序算法,它们在不同的应用环境下有不同的性能表现和适用范围。 第六部分深入讲解网络与负载均衡原理,包括TCP/IP、HTTP协议、...

    java 模拟快车下载器

    Java的并发库提供ExecutorService和ThreadPoolExecutor,可以用来创建和管理线程池。每个线程负责下载文件的一部分。为了协调各个线程,可以使用CountDownLatch或CyclicBarrier等同步工具。线程间需要共享已下载的总...

    java300笔试题

    - 基本数据类型和变量:掌握各种数据类型的取值范围、默认值以及它们的区别。 - 运算符和表达式:理解赋值、比较、逻辑、位运算符的用法。 - 控制流程:包括if语句、switch语句、for循环、while循环的使用。 2. ...

    Java知识点总结

    ### Java知识点总结 #### 索引的实现方式 索引是提高数据库查询效率的关键技术之一,本节将深入探讨几种常见的索引实现方式:B+树索引、散列索引以及位图索引。 ##### B+树索引 **概念及特性:** B+树是一种自...

Global site tag (gtag.js) - Google Analytics