摘要:1,基本概念 2,volatile 3,atom 4,ThreadLocal 5,CountDownLatch和CyclicBarrier 6,信号量 7,Condition 8,Exchanger 原文地址: http://www.cnblogs.com/zhguang/p/concurrent1
阅读全文
摘要:1.阻塞队列:http://www.cnblogs.com/dolphin0520/p/3932906.html 2.Condition 生产者消费者实现 :http://www.cnblogs.com/dolphin0520/p/3920385.html 3. Condition 优点 :http
阅读全文
摘要:http://www.blogjava.net/xylz/archive/2010/07/08/325587.html
阅读全文
摘要:原文:http://www.tuicool.com/articles/2Yjmqy并发编程网:http://ifeve.com/java-memory-model/总结:Final 变量在并发当中,原理是通过禁止cpu的指令集重排序(重排序详解http://ifeve.com/java-memory...
阅读全文
摘要:Java 理论与实践: 正确使用 Volatile 变量原文:http://www.ibm.com/developerworks/cn/java/j-jtp06197.html总结:volatile变量自身具有下列特性:可见性。对一个volatile变量的读,总是能看到(任意线程)对这个volati...
阅读全文
摘要:原文地址: http://my.oschina.net/xianggao/blog/393990#OSC_h2_1 目录[-] 并发问题的症状 多线程put后可能导致get死循环 多线程put的时候可能导致元素丢失 put非null元素后get出来的却是null HashMap数据结构 HashMa
阅读全文
摘要:原文地址:http://lilongfei1030.blog.163.com/blog/static/860152820136260822266/SimpleDateFormat类的继承关系:java.textClass SimpleDateFormatjava.lang.Object| +----...
阅读全文
摘要:1. top -H(查看阻塞进程,线程)2. jstack pid(查看堆栈信息)另附利用 Java dump 进行 JVM 故障诊断http://www.blogjava.net/yuweixia2008/archive/2010/02/01/311471.html原文链接 :http://www...
阅读全文
摘要:原文地址 :http://www.cnblogs.com/zhenyulu/articles/633486.html本部分内容为《数据库原理》课程中的一个课堂案例,幻灯片提供的动画演示有助于理解并发控制的本质,本文内容为幻灯片的摘要。1、下载本文所对应的幻灯片; 2、下载本文对应的VS2005代码。...
阅读全文
摘要:1.悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无...
阅读全文
摘要:http://developer.51cto.com/art/200906/132360.htmhttp://developer.51cto.com/art/200906/132354.htm【编辑推荐】初学Java多线程:从线程返回数据的两种方法初学Java多线程:向线程传递数据的三种方法初学Java多线程:慎重使用volatile关键字初学Java多线程:join方法的使用初学Java多线程:线程的生命周期
阅读全文
摘要:原文出处:http://www.cnblogs.com/cnblue/articles/2423756.html顾名思义它是local variable(线程局部变量)。它的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,使每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。使用场景To keep state with a thread (user-id, transaction-id, logging-id)To cache objects which you need frequentlyThreadLoca
阅读全文
摘要:关键:多线程同步,有两种角度。1.从JVM的角度来看,instance = new instance () 不是一个原子操作,在jvm被分成三步,分配内存,设置intance引用指向实例,初始化,JVM乱序执行。需要考虑线陈并发处理问题。可以通过volatile控制语句的原子性。2.从多条语句之间的角度来看: if(instance =null) {instance = new instance ()} 这样两句话,如何保证同步。使用sychornized 关键字。通过锁,保证同步代码块 。1. 主线程Static Thread currentThread(); //currentThrea.
阅读全文
摘要:Fail-Fast机制:我们知道java.util.HashMap不是线程安全的,因此如果在使用迭代器的过程中有其他线程修改了map,那么将抛出ConcurrentModificationException,这就是所谓fail-fast策略。这一策略在源码中的实现是通过modCount域,modCount顾名思义就是修改次数,对HashMap内容的修改都将增加这个值,那么在迭代器初始化过程中会将这个值赋给迭代器的expectedModCount。Java代码HashIterator(){expectedModCount=modCount;if(size>0){//advancetofir
阅读全文