当前搜索:

LockSupport对Thread.interrupt()的响应

下面我们来看下LockSupport对应中断的响应性    public static void t2() throws Exception      {          Thread t = new Thread(new Runnable()          {              p...
阅读(1) 评论(0)

LockSupport是可重入的还是不可重入的

LockSupport是不可重入锁。     LockSupport是JDK中比较底层的类,用来创建锁和其他同步工具类的基本线程阻塞原语。java锁和同步器框架的核心AQS:AbstractQueuedSynchronizer,就是通过调用LockSupport.park()和LockSuppor...
阅读(2) 评论(0)

Java多线程系列--“基础篇”08之 join()

概要本章,会对Thread中join()方法进行介绍。涉及到的内容包括:1. join()介绍2. join()源码分析(基于JDK1.7.0_40)3. join()示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479275.html 1. j...
阅读(1) 评论(0)

Java多线程系列--“基础篇”07之 线程休眠

概要本章,会对Thread中sleep()方法进行介绍。涉及到的内容包括:1. sleep()介绍2. sleep()示例3. sleep() 与 wait()的比较转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479256.html 1. slee...
阅读(0) 评论(0)

Java多线程系列--“基础篇”06之 线程让步

概要本章,会对Thread中的线程让步方法yield()进行介绍。涉及到的内容包括:1. yield()介绍2. yield()示例3. yield() 与 wait()的比较转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479243.html 1....
阅读(3) 评论(0)

Java多线程系列--“基础篇”05之 线程等待与唤醒

概要本章,会对线程等待/唤醒方法进行介绍。涉及到的内容包括:1. wait(), notify(), notifyAll()等方法介绍2. wait()和notify()3. wait(long timeout)和notify()4. wait() 和 notifyAll()5. 为什么notif...
阅读(3) 评论(0)

Java多线程系列--“基础篇”04之 synchronized关键字

概要本章,会对synchronized关键字进行介绍。涉及到的内容包括:1. synchronized原理2. synchronized基本规则3. synchronized方法 和 synchronized代码块4. 实例锁 和 全局锁转载请注明出处:http://www.cnblogs.com...
阅读(1) 评论(0)

Java多线程系列--“基础篇”03之 Thread中start()和run()的区别

概要Thread类包含start()和run()方法,它们的区别是什么?本章将对此作出解答。本章内容包括:start() 和 run()的区别说明start() 和 run()的区别示例start() 和 run()相关源码(基于JDK1.7.0_40)转载请注明出处:http://www.cnb...
阅读(1) 评论(0)

Java多线程系列--“基础篇”02之 常用的实现多线程的两种方式

概要本章,我们学习“常用的实现多线程的2种方式”:Thread 和 Runnable。之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程。关于线程池的内容,我们以后会详细介绍;现在,先对的Thread和Runnable进行了解。本章内容包括:Th...
阅读(0) 评论(0)

Java多线程系列--“基础篇”01之 基本概念

http://www.cnblogs.com/skywang12345/p/3479024.html多线程是Java中不可避免的一个重要主体。从本章开始,我们将展开对多线程的学习。接下来的内容,是对“JDK中新增JUC包”之前的Java多线程内容的讲解,涉及到的内容包括,Object类中的wait...
阅读(2) 评论(0)

Java多线程系列目录(共43篇)

原文地址:http://www.cnblogs.com/skywang12345/p/java_threads_category.html最近,在研究Java多线程的内容目录,将其内容逐步整理并发布。(一) 基础篇01. Java多线程系列--“基础篇”01之 基本概念02. Java多线程系列-...
阅读(32) 评论(0)

(3)MCS锁

http://xw-z1985.iteye.com/blog/20646441、 为什么要引入MCS锁?         在NUMA架构体系下,访问remote memory的速度要远远慢于访问local memory的速度。如下图所示(引自Companion slides for The Art...
阅读(3) 评论(0)

(2)CLH锁

原文地址:http://xw-z1985.iteye.com/blog/20643721、为什么要引入CLH锁       在前一篇文章中,介绍了TAS、TTAS两种自旋锁。这两种锁的缺点是:任何一个处理器每一次对锁成功的访问(getAndSet(true)和set(false)任意一个方法的调用...
阅读(1) 评论(0)

自旋锁和缓存一致性

http://xw-z1985.iteye.com/blog/20555521、两种自旋锁的实现:TAS和TTAS1.1 TASclass TasLock {          AtomicBoolean state = new AtomicBoolean(false);            v...
阅读(2) 评论(0)

自旋锁、排队自旋锁、MCS锁、CLH锁

自旋锁(Spin lock)自旋锁是指当一个线程尝试获取某个锁时,如果该锁已被其他线程占用,就一直循环检测锁是否被释放,而不是进入线程挂起或睡眠状态。自旋锁适用于锁保护的临界区很小的情况,临界区很小的话,锁占用的时间就很短。简单的实现import java.util.concurrent.atom...
阅读(7) 评论(0)

Java锁的种类以及辨析(四):可重入锁

作者:山鸡锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA下常见的锁名称以及特性,为大家答疑解惑。四、可重...
阅读(0) 评论(0)

Java锁的种类以及辨析(三):阻塞锁

                                                                                                                                                     ...
阅读(11) 评论(0)

Java锁的种类以及辨析

Java锁的种类以及辨析                                                                                                                               ...
阅读(3) 评论(0)

Java锁的种类以及辨析(二):自旋锁的其他种类

锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA下常见的锁名称以及特性,为大家答疑解惑。2.自旋锁的其他种...
阅读(6) 评论(0)

java锁的种类以及辨析(一):自旋锁

锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA下常见的锁名称以及特性,为大家答疑解惑。1、自旋锁自旋锁是...
阅读(1) 评论(0)
    个人资料
    等级:
    访问量: 845
    积分: 164
    排名: 116万+
    文章存档