- 博客(8)
- 收藏
- 关注
原创 jdk源码解读-并发包-Lock-ReentrantReadWriteLock(1)-整体介绍以及读锁的lock 和 unlock 解析
本人知乎技术文章https://zhuanlan.zhihu.com/p/26763024一.属性:ReentrantReadWriteLock实现了接口ReadWriteLock。同时ReentrantReadWriteLock 也是基于 AbstractQueuedSynchronizer 实现的,它具有下面这些属性。1. 获取顺序:此类不会将读取者
2017-06-20 11:28:21 896
原创 jdk源码解读-并发包-Lock-ReentrantLock(2)--await()与signal()方法走读
ReentrantLock 的基本操作除了lock()和unlock()外,还有condition的await()和signal()。但是是通过调用AbstractQueuedSynchronizer的内部类CondtionObject来实现的。所以await()和singnal()的操作主要在CondtionObject类里。如上图可以看到,ConditonObject是Abstract
2017-05-02 13:01:21 916
原创 jdk源码解读-并发包-Lock-ReentrantLock(1)--lock()与unlock()方法走读
介绍:ReentrantLock 是一个互斥锁,在基本行为和机制上与synchonized一样,只不过synchonized用方法和声明访问了隐式的锁监视器,但是ReentrantLock 做了功能上的扩展。 ReentrantLock 被最后一个成功lock,但是还没unlock的线程拥有。当锁不被其他线程拥有,一个线程会成功的申请锁资源并立即返回。如果当前线程已经
2017-04-23 18:22:29 902
原创 java多线程--深入理解threadlocal以及适用场景
如何使用: 简介:JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序,ThreadLocal并不是一个Thread,而是Thread的局部变量。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLoca
2017-04-10 15:51:41 4362
原创 java nio 传统标准io socket 和nio socket比较与学习
在计算机系统中,最不可靠的就是网络请求,我们通过服务器端给客户端echo信息(客户端请求什么信息服务端就返回给客户端什么信息)。比较两种socket io的优劣。一.标准io socket: 服务端使用多线程处理的结构示意图: 1)服务器端代码: 主线程负责不断地请求echoServer.accept(),如果没有客户端请求主线程会阻塞,当
2017-04-09 16:33:19 9991 4
原创 rocketmq源码分析(1)client模块--生产者的启动
过程:从定义DefaultProducer到DefaultProducer.start()。 一.测试代码 测试代码: public class Producer { public static void main(String[] args) throws MQClientException, InterruptedException { DefaultMQProducer
2016-11-10 20:04:33 6491
原创 研读java编程思想第二章--一切都是对象(everything is a object)(1)
“尽管以C++为基础,但 Java 是一种更纯粹的面向对象程序设计语言”。无论C++还是Java 都属于杂合语言。但在 Java 中,设计者觉得这种杂合并不象在 C++里那么重要。杂合语言允许采用多种编程风格;之所以说 C++是一种杂合语言,是因为它支持与 C语言的向后兼容能力。由于C++是C的一个超集,所以包含的许多特性都是后者不具备的,这些特性使 C++在某些地方显得过于复杂。Java 语
2014-10-15 19:45:01 779
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人