这是一份完整的Java 并发整理笔记,记录了我最近几年学习Java并发的一些心得和体会。J.U.C 整体认识原子操作 part 1 从AtomicInteger开始原子操作 part 2 数组、引用的原子操作原子操作 part 3 指令重排序与happens-before法则原子操作 part 4 ...
分类:
编程语言 时间:
2014-12-02 22:12:28
阅读次数:
254
在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁(后面的章节还会谈到锁)。锁机制存在以下问题:(1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。(2)一个线程持有锁会导致其它所有需要此锁的线程挂起。(3)如果一个优先级高的线程等...
分类:
编程语言 时间:
2014-12-02 22:08:37
阅读次数:
227
在理解J.U.C原理以及锁机制之前,我们来介绍J.U.C框架最核心也是最复杂的一个基础类:java.util.concurrent.locks.AbstractQueuedSynchronizer。AQSAbstractQueuedSynchronizer,简称AQS,是J.U.C最复杂的一个类,导...
分类:
编程语言 时间:
2014-12-02 22:08:30
阅读次数:
255
转载:http://www.blogjava.net/xylz/archive/2010/07/06/325390.html在理解J.U.C原理以及锁机制之前,我们来介绍J.U.C框架最核心也是最复杂的一个基础类:java.util.concurrent.locks.AbstractQueuedSy...
分类:
编程语言 时间:
2014-11-29 22:51:36
阅读次数:
335
原文地址:http://baptiste-wicht.com/posts/2010/09/java-concurrency-part-7-executors-and-thread-pools.htmlJava Concurrency - Part 7 : Executors and thread p...
分类:
编程语言 时间:
2014-11-28 20:04:46
阅读次数:
402
文章名称: Real-World Concurrency
链接: http://queue.acm.org/detail.cfm?id=1454462
由于文章是领域内高人多年经验的总结,有很多地方理解不够深刻,只能先写下自己的理解。
文章首先介绍了并发行的历史:提高系统并发性的唯一目标就是提高性能。并发性提高性能的三种方式:减少、隐藏延迟;提高吞吐量。
接下来是一系列的建议:
建议1:...
分类:
其他好文 时间:
2014-11-27 16:20:13
阅读次数:
174
如果Java程序不只有一个执行线程,只有当所有线程结束的时候这个程序才能运行结束。更确切的说是所有的非守护线程运行结束的时候,或者其中一个线程调用了System.exet()方法时,程序才运行结束。
Java提供了中断机制,我们可以采用它来结束一个线程。我们创建一个线程,使其运行5秒后通过中断机制强制使其终止。程序检查数字是否是质数。
package com.concurrency;
pub...
分类:
编程语言 时间:
2014-11-25 16:29:21
阅读次数:
252
根据《Java并发编程实践》一书整理的思维导图。希望能够有所帮助。...
分类:
编程语言 时间:
2014-11-23 10:35:13
阅读次数:
366
根据《Java并发编程实践》一书整理的思维导图。
第一部分:...
分类:
编程语言 时间:
2014-11-23 10:33:55
阅读次数:
172
通过创建实现Runnable接口的类。使用带参数的Thread构造器来创建Thread对象。这个参数就是实现Runnable接口的类的一个对象。
创建10个线程,每个线程打印乘以1-10的结果。
package com.concurrency;
public class Calcalator implements Runnable{
private int number;
public...
分类:
编程语言 时间:
2014-11-21 16:13:51
阅读次数:
272