java.util.concurrent 多线程框架】的更多相关文章

http://daoger.iteye.com/blog/142485 JDK5中的一个亮点就是将Doug Lea的并发库引入到Java标准库中.Doug Lea确实是一个牛人,能教书,能出书,能编码,不过这在国外还是比较普遍的,而国内的教授们就相差太远了.  一般的服务器都需要线程池,比如Web.FTP等服务器,不过它们一般都自己实现了线程池,比如以前介绍过的Tomcat.Resin和Jetty等,现在有了JDK5,我们就没有必要重复造车轮了,直接使用就可以,何况使用也很方便,性能也非常高.…
一.论文简介 闲来无事,看看源码,发现了一篇JDK作者的论文<The java.util.concurrent Synchronizer Framework>主要描述了作者对AbstractQueuedSynchronizer同步器框架的设计和实现.权威性毋庸置疑!自然需要拜读一下,配上中文翻译,希望大家能有所收获. 二.原文链接 论文英文版原文链接:http://gee.cs.oswego.edu/dl/papers/aqs.pdf 打开链接右上角有下载按钮 http://gee.cs.os…
类图: 其实从类图我们能发现concurrent包(除去java.util.concurrent.atomic 和 java.util.concurrent.locks)中的内容并没有特别多,大概分为四类:BlockingQueue阻塞队列体系.Executor线程组执行框架.Future线程返回值体系.其他各种单独的并发工具等. 首先学习的是Executor体系,是我们处理多线程最常接触的内容.首先我们单独看下继承体系: Executor是顶级接口,里面只有一个方法: public inter…
Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent,…
在JDK 1.5之前,要实现多线程的功能,得用到Thread这个类,通过这个类设计多线程程序,需要考虑性能,死锁,资源等很多因素,一句话,就是相当麻烦,而且很容易出问题.所幸的是,在JDK1.5之后,java.util.concurrent包出现了,这是一个设计良好的多线程工具类,本文就将介绍该类的基本使用方法. 按照本博的风格,依然是先扔上一段示例代码,然后我们再慢慢讲解 package com.giantray; import java.util.concurrent.CountDownLa…
转载自http://janeky.iteye.com/blog/769965     Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent, 提供了大量高级工具,可以帮助开发者编写高效.易维护.结构清晰的Java多线程程序.从这篇blog起,我将跟大家一起共同学习这些新的Java多线程构件 1. CountDownLatch     我们先来学习一下JDK1.5 API中关于这个类的详细介绍: “一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一…
转载自http://janeky.iteye.com/blog/770671 --------------------------------------------------------------------------------- 7.BlockingQueue     “支持两个附加操作的 Queue,这两个操作是:获取元素时等待队列变为非空,以及存储元素时等待空间变得可用.“ 这里我们主要讨论BlockingQueue的最典型实现:LinkedBlockingQueue 和Arra…
锁的几种概念 悲观锁 总是假设最坏的情况,每次获取数据都认为别人会修改,所以拿数据时会上锁,一直到释放锁不允许其他线程修改数据.Java中如synchronized和reentrantLock就是这种实现. 乐观锁 总是假设最好的情况,每次去拿数据时都认为别人不会修改,所以不上锁,等更新数据时判断一下在此期间是否有其他人更新过这个数据,可以使用CAS算法实现.乐观锁适用于多读少写的应用类型,可以大幅度提高吞吐量.乐观锁的实现机制主要包括版本号机制(给数据加一个版本号,数据被修改版本号会加一,更新…
一.概述 AbstractQueuedSynchronizer (简称AQS),位于java.util.concurrent.locks.AbstractQueuedSynchronizer包下, AQS是一个用于构建锁和同步容器的框架.事实上concurrent包内许多类都是基于AQS构建,例如ReentrantLock,Semaphore,CountDownLatch,ReentrantReadWriteLock,FutureTask等.AQS解决了在实现同步容器时设计的大量细节问题.这些锁…
题记:util和concurrent 包是后续重点先看的和学习的模块 原文地址:http://www.cnblogs.com/sunhan/p/3817806.html CountDownLatch,api 文档:http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CountDownLatch.html A synchronization aid that allows one or more threads to wait…