Thread
ermu0420
这个作者很懒,什么都没留下…
展开
-
多线程(一):synchronized 和 volatile
synchronized :实现同步 锁机制 在编译成字节码时会在入口位置插入monitorenter,在退出时插入monitorexit字节码命令 内置锁 每个java对象都可以用做一个实现同步的锁,这些锁称为内置锁。线程进入同步代码块或方法的时候会自动获得该锁,在退出同步代码块或方法时会释放该锁。获得内置锁的唯一途径就是进入这个锁的保护的同步代码块或方法。 ...原创 2019-01-15 21:34:50 · 104 阅读 · 0 评论 -
多线程(二):AbstractQueuedSynchronizer
AbstractQueuedSynchronizer(AQS) -- 为实现依赖于先进先出 (FIFO) 为等待队列的阻塞锁和相关同步器(信号量,事件)提供一个框架 此类设计目标就是依靠单个原子int值(state)来表示状态。 需要子类重写 tryAcquire 尝试获取锁 tryRelease 尝试释放 tryAcquireShared tryReleaseShared 此类有...原创 2019-01-15 21:57:29 · 102 阅读 · 0 评论 -
多线程(三):ReentrantLock NonfairSync FairSync
结构 首先看看ReentranLock结构,它实现Lock接口,也拥有Sync ,NonfairSync, FairSync三个内部类, ( NonfairSync, FairSync )-----继承-------> Sync ------继承-------> AbstractQueuedSynchronizer NonfairSync ,FairSync 重写了AQS...原创 2019-01-15 22:43:35 · 699 阅读 · 0 评论