并发系列文章

http://blog.csdn.net/world_hello_100/article/details/50131497

http://www.cnblogs.com/LoveJenny/archive/2011/05/29/2060718.html

http://blog.csdn.net/iter_zc/article/details/42006811

http://www.infoq.com/cn/articles/java-memory-model-4/

时间: 2024-08-13 19:08:59

并发系列文章的相关文章

我的.net并发系列文章及项目经验整理

一直在关注研究.net下的并发处理,之前也发布过几篇文章,今天就都整理下. 使用BlockingCollection来做并发处理,同时增加并发队列来做并发处理时的退出判断: 你真的知道.NET Framework中的阻塞队列BlockingCollection的妙用吗? 项目开发中应用并发的一二事 不加任何的变量或是内存,直接使用原子锁来判断并发处理时的退出判断: 使用Interlocked在多线程下进行原子操作,无锁无阻塞的实现线程运行状态判断 关于并发下内存及CPU使用情况的思考 阻塞队列,

Java并发系列[1]----AbstractQueuedSynchronizer源码分析之概要分析

学习Java并发编程不得不去了解一下java.util.concurrent这个包,这个包下面有许多我们经常用到的并发工具类,例如:ReentrantLock, CountDownLatch, CyclicBarrier, Semaphore等.而这些类的底层实现都依赖于AbstractQueuedSynchronizer这个类,由此可见这个类的重要性.所以在Java并发系列文章中我首先对AbstractQueuedSynchronizer这个类进行分析,由于这个类比较重要,而且代码比较长,为了

JVM系列文章(二):垃圾回收机制

作为一个程序员,仅仅知道怎么用是远远不够的.起码,你需要知道为什么可以这么用,即我们所谓底层的东西. 那到底什么是底层呢?我觉得这不能一概而论.以我现在的知识水平而言:对于Web开发者,TCP/IP.HTTP等等协议可能就是底层:对于C.C++程序员,内存.指针等等可能就是底层的东西.那对于Java开发者,你的Java代码运行所在的JVM可能就是你所需要去了解.理解的东西. 我会在接下来的一段时间,和读者您一起去学习JVM,所有内容均参考自<深入理解Java虚拟机:JVM高级特性与最佳实践>(

深入理解java内存模型系列文章

转自:http://ifeve.com/java-memory-model-0/ 提纲 java线程之间的通信对程序员完全透明,内存可见性问题很容易困扰java程序员,本文试图揭开java内存模型神秘的面纱.本文大致分三部分:重排序与顺序一致性:三个同步原语(lock,volatile,final)的内存语义,重排序规则及在处理器中的实现:java内存模型的设计目标,及其与处理器内存模型和顺序一致性内存模型的关系. 原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 

JVM系列文章(三):Class文件内容解析

作为一个程序员,仅仅知道怎么用是远远不够的.起码,你需要知道为什么可以这么用,即我们所谓底层的东西. 那到底什么是底层呢?我觉得这不能一概而论.以我现在的知识水平而言:对于Web开发者,TCP/IP.HTTP等等协议可能就是底层:对于C.C++程序员,内存.指针等等可能就是底层的东西.那对于Java开发者,你的Java代码运行所在的JVM可能就是你所需要去了解.理解的东西. 我会在接下来的一段时间,和读者您一起去学习JVM,所有内容均参考自<深入理解Java虚拟机:JVM高级特性与最佳实践>(

SQL Server系列文章目录

这里整理了我学习SQL Server的所有文章,包括从基础到高级的. 一,SQL Server数据类型 1,SQL Server中开发常用的数据类型 二,单表查询和多表查询   三,增,删,改   四,表和视图   五,存储过程   六,事务和并发   七,临时表   八,动态SQL   九,错误处理   十,SQL Server常用函数 SQL Server系列文章目录

Java并发系列[5]----ReentrantLock源码分析

在Java5.0之前,协调对共享对象的访问可以使用的机制只有synchronized和volatile.我们知道synchronized关键字实现了内置锁,而volatile关键字保证了多线程的内存可见性.在大多数情况下,这些机制都能很好地完成工作,但却无法实现一些更高级的功能,例如,无法中断一个正在等待获取锁的线程,无法实现限定时间的获取锁机制,无法实现非阻塞结构的加锁规则等.而这些更灵活的加锁机制通常都能够提供更好的活跃性或性能.因此,在Java5.0中增加了一种新的机制:Reentrant

java高并发系列 - 第15天:JUC中的Semaphore,最简单的限流工具类,必备技能

这是java高并发系列第15篇文章 Semaphore(信号量)为多线程协作提供了更为强大的控制方法,前面的文章中我们学了synchronized和重入锁ReentrantLock,这2种锁一次都只能允许一个线程访问一个资源,而信号量可以控制有多少个线程可以访问特定的资源. Semaphore常用场景:限流 举个例子: 比如有个停车场,有5个空位,门口有个门卫,手中5把钥匙分别对应5个车位上面的锁,来一辆车,门卫会给司机一把钥匙,然后进去找到对应的车位停下来,出去的时候司机将钥匙归还给门卫.停车

java并发系列 - 第29天:高并发中常见的限流方式

这是java高并发系列第29篇. 环境:jdk1.8. 本文内容 介绍常见的限流算法 通过控制最大并发数来进行限流 通过漏桶算法来进行限流 通过令牌桶算法来进行限流 限流工具类RateLimiter 常见的限流的场景 秒杀活动,数量有限,访问量巨大,为了防止系统宕机,需要做限流处理 国庆期间,一般的旅游景点人口太多,采用排队方式做限流处理 医院看病通过发放排队号的方式来做限流处理. 常见的限流算法 通过控制最大并发数来进行限流 使用漏桶算法来进行限流 使用令牌桶算法来进行限流 通过控制最大并发数