最新文章列表

FutureTask的使用示例

今天看书,有关于 FutureTask 的介绍,感觉还蛮有意思的,可以用它来做一些比较花时间的事情。下面打个通俗的比方来说明一下它的用处: 比如,早上一大早的去公交站台等公交,但那该死的公交20分钟才一班。如果一直死等公交,那么这20分钟无疑就被浪费了。我们可以利用这20分钟,去买个韭菜饼,再买一盒豆浆,然后一边吃一边等。这样就明显提高了时间的利用率。   下面给出一个段简单的代码来说明一下 ...
Rainbow702 评论(0) 有4046人浏览 2015-04-26 20:05

并发锁及java.util.concurrent包浅析

    我们在处理并发操作的时候经常使用锁机制,大家常用的synchronized和Lock. 1.二者使用方式有所不同:      synchronized可以在方法前或者代码块中,synchronized是java中的内置锁,由jvm控制锁的释放。      Lock使用在代码块中,加锁之后需要显示的释放,一般在finally中释放锁,主要有两种锁ReentrantLock和ReentrantR ...
richard_lee 评论(0) 有1052人浏览 2015-02-28 19:21

java.util.concurrent介绍 (转载)

 本文转载自:http://www.cnblogs.com/sarafill/archive/2011/05/18/2049461.html java.util.concurrent 包含许多线程安全、测试良好、高性能的并发构建块。不客气地说,创建 java.util.concurrent 的目的就是要实现 Collection 框架对数据结构所执行的并发操作。通过提供一组可靠的、高性能并发构建 ...
langgufu 评论(0) 有1427人浏览 2014-12-11 16:51

java.util.concurrent(一) 并发集合类

1、LinkedBlockingQueue            阻塞队列、线程安全,可在构造方法参数中指定容量、默认容量为Integer.MAX_VALUE,实现了BlockingQueue接口以及Collection和Ite ...
跑龙套_az 评论(0) 有1152人浏览 2014-08-11 22:08

Java开发的10位牛人

1. James Gosling 1983年,Gosling获得了加州大学的计算机科学学士学位。1990年,他获得了卡内基梅隆大学的计算机科学博士学位,师从Bob Sproull。在攻读博 ...
deepinmind 评论(29) 有9806人浏览 2014-04-10 10:40

ConcurrentHashMap实现分析

java5中新增了ConcurrentMap接口和它的一个实现类ConcurrentHashMap.该类在多线程并发情况下的效率要比HashTable和Collections.synchronizedMap()返回的map效率要高。原因是它的锁实现的很“机智”。 HashTable和Collections的内部类SynchronizedMap里的同步,都是用synchronized来实现的,每次都是 ...
TranCoffee 评论(0) 有726人浏览 2014-03-15 21:09

Java多线程包之读写锁

简单的并发控制可以通过synchronized关键字来完成。 synchronized通过锁定对象,从而实现并发的控制。   但是遇到一下一种情况,就会出现意想之外的结果。   一般来说,我们要实现写入和写入互斥,读取和写入互斥,读取和读取互斥, 在set和get方法加入sychronized修饰符:   public synchronized void set(int data ...
dacoolbaby 评论(0) 有1410人浏览 2014-01-26 16:56

Java多线程包之BlockingQueue

在hadoop底层代码中,会看到有BlockingQueue的使用。 作为了解配置调优的作用,我也来了解一下BlockingQueue的使用。   BlockingQueue的核心方法:放入数据:  offer(anObject):表示如果可能的话,将anObject加到BlockingQueue里,即如果BlockingQueue可以容纳,    则返回true,否则返回false.(本方 ...
dacoolbaby 评论(0) 有3086人浏览 2014-01-26 15:22

线程池简单例子及分析

  关于概念什么的我也是看别人的blog: http://blog.csdn.net/xiaoxiaohacker/article/details/17525799 http://blog.csdn.net/jeffhtlee/article/details/7851120 http://blog.csdn.net/XSL1990/article/details/18564097   ...
yea_love 评论(4) 有2053人浏览 2014-01-22 23:03

AQS源码阅读理解(uncompleted)

有head和tail 当acquire*操作的时候,如果我们定义的资源限制操作返回false时,会在tail端加入一个新的节点(Node里面的所有基础属性都是volatile,用CAS设置tail指针)。 然后利用LockSupport.part(this)阻塞。 当release的时候,如果我们定义的资源操作返回true,会将head节点的下一个SIGNAL节点的thread唤醒。 被 ...
xussen 评论(0) 有805人浏览 2014-01-20 16:19

java.util.concurrent介绍

                                                      java.util.concurrent介绍   java.util.concurrent.atomic 是类的小工具包,支持在单个变量上解除锁定的线程安全编程。事实上,此包中的类可将 volatile 值、字段和数组元素的概念扩展到那些也提供原子条件更新操作的类,其形式如下: boo ...
zjutwangqian 评论(0) 有689人浏览 2014-01-02 14:36

java的concurrent用法详解

        我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程 ...
kolenxiao 评论(0) 有1133人浏览 2013-10-16 16:43

java concurrent

围绕concurrent的文章很多,多看看对于多线程高并发的解决有好处 http://www.cnblogs.com/aurawing/articles/1887056.html
sprite311 评论(0) 有719人浏览 2013-09-22 16:17

BlockingQueue阻塞队列分析(一)-ArrayBlockingQueue和LinkedBlockingQueue

BlockingQueue接口 BlockingQueue接口继承自Queue接口: public interface BlockingQueue<E>extends Queue<E> 与Queue队列相比,它是线程安全的。添加和移除元素有四类方式,其中add()、remove()、offer()、poll()、element()、peek()方法继承自Queue。 ...
liuluo129 评论(0) 有3809人浏览 2013-09-18 16:22

java.util.concurrent学习笔记

concurrent在线文档: http://www.cjsdn.net/Doc/JDK50/java/util/concurrent/Executors.html http://www.cjsdn.net/Doc/JDK50/java/util/concurrent/ScheduledExecutorService.html   java.util.concurrent包主要接口和类: ...
hejiajunsh 评论(0) 有1596人浏览 2013-09-06 13:38

JDK Concurrent并发线程池使用初探

1、什么是并发 已知:多个进程或线程同时(或者说在同一段时间内)访问同一资源会产生并发问题。 1.1并发程序: 并发程序设计(concurrent programming)是指由若干个可在同一时间段执行的程序模块组成程序的程序设计方法。这种可并发执行的程序模块称为进程。进程由数据和机器指令和堆栈组成。组成一个程序的多个进程可以同时在多台处理器上并行执行,也可以在一台处理器上夹插执行。采用并发程序设计 ...
boonya 评论(0) 有3088人浏览 2013-09-01 22:34

源码剖析之CopyOnWriteArrayList

CopyOnWriteArrayList:jdk1.5新增的线程安全的ArrayList实现。 使用场景:读取频繁,写较少。 理由:底层的安全性 本质上是依赖于线程读取的数据副本来实现的。因此每次写都是要复制底层数组数据的,如果写频繁势必会造成大量的性能消耗。 如果写非常频繁,那么可以根据实际情况选择:vector 或者Collections.synchronizedList获取同步保证。 1、底 ...
王新春 评论(0) 有2419人浏览 2013-05-20 16:19

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics