
并发编程
文章平均质量分 84
lq19880488
这个作者很懒,什么都没留下…
展开
-
Java里的CompareAndSet(CAS)
Atomic 从JDK5开始, java.util.concurrent包里提供了很多面向并发编程的类. 使用这些类在多核CPU的机器上会有比较好的性能.主要原因是这些类里面大多使用(失败-重试方式的)乐观锁而不是synchronized方式的悲观锁.今天有时间跟踪了一下AtomicInteger的incrementAndGet的实现.本人对并发编程也不是特别了解, 在这里就是做个转载 2014-10-31 10:37:52 · 1852 阅读 · 0 评论 -
JAVA线程中断
使用interrupt()中断线程 当一个线程运行时,另一个线程可以调用对应的Thread对象的interrupt()方法来中断它,该方法只是在目标线程中设置一个标志,表示它已经被中断,并立即返回。这里需要注意的是,如果只是单纯的调用interrupt()方法,线程并没有实际被中断,会继续往下执行。 下面一段代码演示了休眠线程的中断:[java]转载 2014-10-31 16:13:40 · 601 阅读 · 0 评论 -
java线程阻塞中断和LockSupport的常见问题
原文出处:http://agapple.iteye.com/blog/970055上周五和周末,工作忙里偷闲,在看java cocurrent中也顺便再温故了一下Thread.interrupt和java 5之后的LockSupport的实现。 在介绍之前,先抛几个问题。 Thread.interrupt()方法和InterruptedException异常转载 2014-10-31 16:15:35 · 872 阅读 · 0 评论 -
深入JVM锁机制1-synchronized
目前在Java中存在两种锁机制:synchronized和Lock,Lock接口及其实现类是JDK5增加的内容,其作者是大名鼎鼎的并发专家Doug Lea。本文并不比较synchronized与Lock孰优孰劣,只是介绍二者的实现原理。 数据同步需要依赖锁,那锁的同步又依赖谁?synchronized给出的答案是在软件层面依赖JVM,而Lock给出的方案是在硬件层面依赖特殊的CPU指令转载 2014-10-31 16:40:45 · 380 阅读 · 0 评论