- 浏览: 103330 次
- 性别:
- 来自: 北京
最新评论
在学习java.util.concurrent 相关中,首先发现了这样的一个神贴:
http://www.iteye.com/topic/366591
不过 首先要弄明白concurrent中的许多概念,以及之间的关系。
线程池: 实现了ExecutorService接口 以及子接口ScheduledExecutorService
Executors类,提供了一系列工厂方法用于创先线程池
static ExecutorService
newCachedThreadPool
()
创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们。
static ExecutorService
newCachedThreadPool
(ThreadFactory
threadFactory)
创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们,并在需要时使用提供的 ThreadFactory 创建新线程。
static ExecutorService
newFixedThreadPool
(int nThreads)
创建一个可重用固定线程数的线程池,以共享的无界队列方式来运行这些线程。
static ExecutorService
newFixedThreadPool
(int nThreads,
ThreadFactory
threadFactory)
创建一个可重用固定线程数的线程池,以共享的无界队列方式来运行这些线程,在需要时使用提供的 ThreadFactory 创建新线程。
static ScheduledExecutorService
newScheduledThreadPool
(int corePoolSize)
创建一个线程池,它可安排在给定延迟后运行命令或者定期地执行。
static ScheduledExecutorService
newScheduledThreadPool
(int corePoolSize,
ThreadFactory
threadFactory)
创建一个线程池,它可安排在给定延迟后运行命令或者定期地执行。
static ExecutorService
newSingleThreadExecutor
()
创建一个使用单个 worker 线程的 Executor,以无界队列方式来运行该线程。
static ExecutorService
newSingleThreadExecutor
(ThreadFactory
threadFactory)
创建一个使用单个 worker 线程的 Executor,以无界队列方式来运行该线程,并在需要时使用提供的 ThreadFactory 创建新线程。
static ScheduledExecutorService
newSingleThreadScheduledExecutor
()
创建一个单线程执行程序,它可安排在给定延迟后运行命令或者定期地执行。
static ScheduledExecutorService
newSingleThreadScheduledExecutor
(ThreadFactory
threadFactory)
创建一个单线程执行程序,它可安排在给定延迟后运行命令或者定期地执行。
CachedThreadPool:
public static ExecutorService newCachedThreadPool() {
return new ThreadPoolExecutor
(0, Integer.MAX_VALUE,
60L, TimeUnit.SECONDS,
new SynchronousQueue<Runnable>());
}
SingleThreadExecutor:
public static ExecutorService newSingleThreadExecutor() {
return new FinalizableDelegatedExecutorService
(new ThreadPoolExecutor(1, 1,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>
()));
}
FixedThreadPool:
public static ExecutorService newFixedThreadPool(int nThreads) { return new ThreadPoolExecutor(nThreads, nThreads, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>()); }
注意这几个里面BlockingQueue的区别
ThreadPoolExecutor
(int corePoolSize, int maximumPoolSize, long keepAliveTime,
TimeUnit
unit,
BlockingQueue
<Runnable
> workQueue)
用给定的初始参数和默认的线程工厂及被拒绝的执行处理程序创建新的ThreadPoolExecutor
。
看源码的时候 发现了一些概念 记录下
volatile http://zhidao.baidu.com/question/12947255.html?fr=ala0
AtomicInteger http://blog.sina.com.cn/s/blog_473f547b0100ktap.html
发表评论
-
hibernate中htm.xml注意的一个问题
2011-06-08 12:00 881遇到了这个问题 总是报 org.hibernate ... -
罗马数字转成阿拉伯数字
2011-06-02 13:15 2617首先得知道罗马数字是怎么回事: http://520920. ... -
有关于验证码的
2011-06-01 13:00 635验证码 是怎么出来的呢 应该有很多种方式,今天看到了一段代码中 ... -
转系统架构的一片文章
2011-05-13 14:27 719原文其实应该是.NET上面的 但是我觉得架构上同样适用 ... -
java中从汉字得到拼音的函数【转载】
2011-05-11 10:17 891public class GB2Alpha { ... -
后缀树 后缀数组 字符串的 那些面试题... 【烂,别点进来】
2011-04-24 16:28 1580最近在总结点面试题,好像放在公司里,忘记拷到U盘上了。回去传到 ... -
海量数据的匹配 bloom filter 【别进来 很烂】
2011-04-22 10:30 1019引出 是老张说的腾讯的面试题 说 昨天有一亿个QQ登陆 ... -
Hello mina 【别进来 烂 会后悔】
2011-04-18 17:46 758mina nio 开源代码 以上是关键字 感觉 ... -
java nio & reactor
2011-04-15 14:26 848想看 java io很久了 菜的很 两个文章和一本书 小了解一 ... -
vm到jsp
2011-02-14 14:54 2118http://www.iteye.com/topic/1355 ... -
json&jsonP&跨域
2011-01-10 15:58 777http://www.ibm.com/developerwor ... -
PermGen space
2010-12-14 11:59 716http://blog.csdn.net/Jerry_R ... -
编程珠玑课后题,吝啬的初始化
2010-12-05 16:20 1045在这里,我们有一个稀疏的数组需要访问,并且在第一次访问的时 ... -
BitSet 原理&位操作&基本类型的大小
2010-12-05 11:52 1867因为在看编程珠玑 第一章讲到了 用BitSet来对N多数字进行 ... -
JVM 小总结
2010-11-25 14:22 653http://www.iteye.com/topic/8218 ... -
jdk5.0 6.0新特性
2010-11-25 08:18 568也许会被蛋疼的人问道吧 http://qwzhl100 ... -
对象的复制:ezmorph
2010-11-17 10:59 736ezmoph组件 http://blog.csdn.net/ ... -
how tomcat works
2010-11-16 17:36 976http://jarfield.iteye.com/blog/ ... -
ThreadLocal
2010-11-14 22:05 772起因还是那天培训 对这个了解不深刻 赶紧看看 ... -
ConcurrentHashMap记录
2010-11-14 21:09 837那天的讲座中 武祥提到了 ConcurrentHashMap ...
相关推荐
1. java.util.concurrent - Java 并发工具包 2. 阻塞队列 BlockingQueue 3. 数组阻塞队列 ArrayBlockingQueue 4. 延迟队列 DelayQueue 5. 链阻塞队列 LinkedBlockingQueue 6. 具有优先级的阻塞队列 ...
"java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError" 是一个典型的错误提示,它表明在并发执行过程中遇到了内存不足的问题。下面我们将深入探讨这个问题的原因、影响以及如何解决。 内存溢出...
Java.util.concurrent是Java 5.0引入的一个重要包,它为多线程编程提供了一组高级并发工具。这个包的设计者是Doug Lea,它的出现是JSR-166的一部分,也被称作Tiger更新。Java.util.concurrent的引入是为了解决传统...
java.util.concurrent总体概览图。 收取资源分3分。需要的同学可以下载一下。 java.util.concurrent主要包括5个部分executor,colletions,locks,atomic,tools。 该图详细的列举了并发包下面的结构,包含所有接口和...
import java.util.concurrent.ArrayBlockingQueue; public class BlockingQueueExample { public static void main(String[] args) { // 创建一个容量为 10 的阻塞队列 BlockingQueue<String> queue = new ...
java.util.concurrent - Java 并发工具包 2. 阻塞队列 BlockingQueue 3. 数组阻塞队列 ArrayBlockingQueue 4. 延迟队列 DelayQueue 5. 链阻塞队列 LinkedBlockingQueue 6. 具有优先级的阻塞队列 ...
Java.util.concurrent(JUC)是Java平台中的一个核心包,专门用于处理多线程并发问题。这个包包含了大量的工具类和接口,极大地简化了并发编程的复杂性,提高了程序的性能和可伸缩性。本测试源文件主要是针对JUC并发...
"JDK1.5中的线程池(java.util.concurrent.ThreadPoolExecutor)使用" JDK1.5中的线程池(java.util.concurrent.ThreadPoolExecutor)使用是Java多线程编程中的一种重要概念。随着多线程编程的普及,线程池的使用变得...
### Java.util.concurrent.Synchronizer框架详解 #### 一、引言与背景 随着Java技术的发展,多线程编程成为了一项重要的技术需求。为了更好地支持并发编程,Java平台在J2SE 1.5版本中引入了`java.util.concurrent`...
一个高性能的Java线程库,该库是 JDK 1.5 中的 java.util.concurrent 包的补充,可用于基于并发消息机制的应用。该类库不提供远程的消息功能,其设计的宗旨是实现一个内存中的消息传递机制. 主要特点有: * All ...
如何启动:以win7系统为例,最好jdk8 1.打开cmd,cd到jdk的path,本机是:cd C:\Java\jdk6\bin ...java -cp D:\javaConcurrentAnimated.jar vgrazi.concurrent.samples.launcher.ConcurrentExampleLauncher
java.util.concurrent 多线程框架是 Java 语言中用于多线程编程的库。该库提供了多种线程池实现、并发集合、同步器、lock 等多种机制,以便开发者更方便地编写高效、可靠的多线程程序。 多线程编程是 Java 语言中的...
标题中提到了“java.util.concurrent.uml.pdf”,这表明文件是一份Java并发编程工具包java.util.concurrent的UML(统一建模语言)类结构图的PDF格式文件。UML图能够帮助开发者理解Java并发包中的类、接口及其关系,...
AQS(AbstractQueuedSynchronizer)是Java.util.concurrent包中同步器的基础框架,它的核心设计思想与实现方法在Doug Lea先生的这篇论文中有详细的介绍。论文详细阐述了AQS框架的原理、设计、实现、应用以及性能等...
文档标题“java.util.concurrent同步器框架”和描述“Doug Lea的java.util.concurrent同步器框架”表明本文将探讨由Doug Lea所撰写的关于Java并发编程中同步器框架的内容。文档中提到了AbstractQueuedSynchronizer类...
本资源包含两个 pdf 文档,一本根据 Jakob Jenkov 最新博客 (http://tutorials.jenkov.com/java-util-concurrent/index.html) 整理的 java_util_concurrent_user_guide_en.pdf,一个中文翻译的 java_util_concurrent...
`java.util.concurrent.ExecutionException` 是Java并发编程中一个常见的异常,通常在执行Future对象的get()方法时抛出。这个异常表明在异步任务的执行过程中发生了异常。当我们使用ExecutorService提交任务并尝试...
在Java中,`java.util.concurrent.ExecutorService` 接口代表了一个线程池服务,而`ThreadPoolExecutor` 是它的具体实现,我们可以自定义线程池的核心参数,如核心线程数、最大线程数、线程存活时间、线程队列等。...