最新文章列表

java.util.concurrent详解(四) BlockingQueue

7.BlockingQueue     “支持两个附加操作的 Queue,这两个操作是:获取元素时等待队列变为非空,以及存储元素时等待空间变得可用。“     这里我们主要讨论BlockingQueue的最典型实现:LinkedBlockingQueue 和ArrayBlockingQueue。两者的不同是底层的数据结构不够,一个是链表,另外一个是数组。         后面将要单独解 ...
muyoufang001 评论(0) 有742人浏览 2012-10-19 10:00

java.util.concurrent详解(三)ScheduledThreadPoolExecutor

6. ScheduledThreadPoolExecutor     我们先来学习一下JDK1.5 API中关于这个类的详细介绍:     "可另行安排在给定的延迟后运行命令,或者定期执行命令。需要多个辅助线程时,或者要求 ThreadPoolExecutor 具有额外的灵活性或功能时,此类要优于 Timer。     一旦启用已延迟的任务就执行它,但是有关何时启用,启用后何 ...
muyoufang001 评论(0) 有796人浏览 2012-10-18 14:32

java.util.concurrent详解(二)Semaphore/FutureTask/Exchanger

----------------------------------------------------------------------------- 3. Semaphore     我们先来学习一下JDK1.5 API中关于这个类的详细介绍: “一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 ...
muyoufang001 评论(0) 有947人浏览 2012-10-18 14:31

java.util.concurrent详解(一) Latch/Barrier

Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent, 提供了大量高级工具,可以帮助开发者编写高效、易维护、结构清晰的Java多线程程序。从这篇blog起,我将跟大家一起共同学习这些新的Java多线程构件 1. CountDownLatch     我们先来学习一下JDK1.5 API中关于这个类的详细介绍: “一个同步辅助类,在完成一组正在其他线程 ...
muyoufang001 评论(0) 有1005人浏览 2012-10-18 14:30

Java偏向锁实现原理(Biased Locking)

阅读本文的读者,需要对Java轻量级锁有一定的了解,知道lock record, mark word之类的名词。可以参考我的一篇博文:Java轻量级锁原理详解(Lightweight Locking)       Java偏向锁(Biased Locking)是Java6引入的一项多线程优化。它通过消除资源无竞争情况下的同步原语,进一步提高了程序的运行性能。       轻量级锁 ...
muyoufang001 评论(0) 有735人浏览 2012-10-11 18:08

多线程下race condition问题

这个问题的讨论来自内部的一个关于“多线程环境下使用Hashmap的安全问题”的讨论,HashMap多线程的问题之前已经提过一次,见之前的blog .本篇文章主要讨论多线程下race condition的问题。以下内容部分引用自内部邮件: 错误代码: 定义成员变量 private static Map cachedMap = new HashMap(7000); priva ...
muyoufang001 评论(0) 有1399人浏览 2012-10-11 18:07

深入理解DCL(双检锁)的安全性

对于双检锁,其实有多种不同的用法,有很多种用法是无论如何不会出现问题的.我最初用双检锁来获取jndi对象时,立即有人告诉我双检锁是不安全的,我笑着告诉他:是否安全我比你更有把握. static DataSource ds = null; public static DataSource getDataSource(){ if (ds == null){ ...
muyoufang001 评论(0) 有924人浏览 2012-10-11 18:07

Java轻量级锁原理详解(Lightweight Locking)

大家知道,Java的多线程安全是基于Lock机制实现的,而Lock的性能往往不如人意。原因是,monitorenter与 monitorexit这两个控制多线程同步的bytecode原语,是JVM ...
muyoufang001 评论(0) 有785人浏览 2012-10-11 18:06

svn Working copy locked 提交不了也更新不了,lock

不知怎么的,svn资源被锁住了 在被锁的文件夹上,执行Team->cleanup,就正常了 黑色头发:http://heisetoufa.iteye.com/
heisetoufa 评论(0) 有5001人浏览 2012-09-17 10:38

MySQL 中 QueryCache 的锁模型

    有同学在问 MySQL中 QueryCache(QC)的锁是 “全局锁”还是 “表锁”。这里简要说明一下。   1、  QC基本概念     这个是实现在MySQL层(非引擎层)的一个内存结构,基本规则是将满足一定条件的查询结果缓存在内存中,若同样的查询再执行第二次,而且缓存没有失效,则可以直接返回查询结果,无需到引擎获取数据。   几个说明: a) QC的结构是hash,k ...
丁林.tb 评论(0) 有3635人浏览 2012-08-08 12:51

并发笔记-----------使用显示的Lock对象

java机制中除了用synchronized关键字来做同步一外。 还可以用java.util.concurrent.lock包中的类 Lock lock=new ReentrantLock()来代替synchronized同步锁 区别是:    使用synchronized 失败会抛出异常。    而使用Lock后可以finally{}讲系统维护在正确的状态 Lock对象必须被显示的创建,锁定和释放 ...
ren2881971 评论(0) 有975人浏览 2012-08-01 17:18

提交svn时报告attempted to lock an already-locked dir

用subeclipse插件提交代码到svn时报告attempted to lock an already-locked dir。 解决方法: 到工程所在目录->.svn,找到lock文件并删除。 这个lock文件时怎么产生的?
lidayedeTech 评论(0) 有1126人浏览 2012-05-18 18:52

sql Lock and unlock

Lock: I had known how to lock the record of [name = 'hp_release_pwd'] and why it came out. • When I tried to insert password which longer than 64 characters, it came out the PersistenceSessionExceptio ...
lliu26 评论(0) 有1096人浏览 2012-05-04 15:25

AQS条件对象

在AQS队列中通过nextWaiter指针串起来的就是条件队列,实际上是通过ConditionObject来实现的。ConditionObject类实现了Condition接口。Condition 实现可以提供不同于 Object 监视器方法的行为和语义。比如一个对象里面可以有多个Condition,可以注册在不同的condition,可以有选择性的调度线程,很灵活。而Synchronized只有一 ...
wubo.wb 评论(0) 有3969人浏览 2012-04-15 15:25

内置锁和显式锁的区别--JCIP C13读书笔记

[本文是我对Java Concurrency In Practice C13的归纳和总结.  转载请注明作者和出处,  如有谬误, 欢迎在评论中指正. ] 任何java对象都可以用作同步的锁, 为了 ...
coolxing 评论(0) 有5754人浏览 2012-04-11 10:17

一个读写锁的例子

用的比较少, 做一个参考. 原文在这里 public class Calculator { private int calculatedValue; private int value; private ReadWriteLock lock = new ReentrantReadWriteLock(); public void calculate(int ...
macrochen 评论(0) 有1525人浏览 2012-04-02 21:20

JDK6运行时性能优化

Synchronized性能优化: 粗化锁区域:通过扩大已存在锁,减少unlock和re-lock操作,降低所开销;默认启用,启用参数:-XX:+EliminateLocks 同步削减:通过逃逸分析,削减线程局部变量上的锁;启用参数:-XX:+DoEscapeAnalysis 偏袒锁机制:延长创建锁机制线程上锁的租约,知道有其他线程竞争锁时才释放(个人理解:相当于延长锁时间,减少释放、获取锁 ...
yychao 评论(0) 有1898人浏览 2012-03-29 00:08

Java中锁的应用之-ReadWriteLock

上面我们用儿子和父亲做了一个例子,儿子太猖狂了,花钱根本没有谱。 下面我们再做一个例子,讲解ReadWriteLock的使用,例子和刚才差不多,但是又多了一个角色母亲,而且父母只负责监督,不再存钱。 儿子每三秒都会去花钱一次,而父母每秒都在监督这个卡的使用情况。   所有 ReadWriteLock 实现都必须保证 writeLock 操作的内存同步效果也要保持与相关 readLock ...
cuisuqiang 评论(2) 有10136人浏览 2012-03-20 16:54

最近博客热门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