从这次开始接触Java1.5推出的并发包中的东东,先看一下jdk中的并发包:

接下来咱们则会集中对这些并发包中的核心进行深入了解,不光要学会怎么用这些并发包中的类,而且还得知道这些功能背后运行的原理, 所以手踏实地的一步步从基础开始展开对它的剖析,在JDK1.5之前要想对代码进行同步只有一个选择,利用syncronized关键字,但是在之后推出了一个全新的同步方式,那就是Lock锁,这个我们在实际工作中也会经常看到它的使用,下面瞅下它:

而在并发包中很多的组件都是直接或者间接的来源于它,瞅一眼:

所以对于这个接口的理解是至关重要的,而系统的了解它当然得从读官方说明开始,而它的javadoc挺多的。。没关系,逐字进行大体了解:

其中这里涉及到了一个Condition新的对象,如下:

之后学到时再来详细看它,继续往下读Lock:

这里稍加说明一下,对于实际中可能用这么一个场景:大部分都是读操作,只有小部分是写操作,而如果几个线程都是对一个资源进行读取,那很明显是不需要上锁的,而有些情况又需要写则肯定得上锁,此时读写锁ReadWriteLock就有它的适用场景了,也是并发包中的,瞅一眼:

其中可以看到它里面对于读和写锁进行了分开了,先有个大体了解,之后再详学,继续读:

上面的这句话清楚的描述了使用synchronized关键字和使用Lock的它们之间的一个区别,下面继续:

从上面这段说明中可以清晰的感受到Lock跟synchronized的一个不同。

最新文章

  1. file命令
  2. csharp: Oracle Stored Procedure DAL using ODP.NET
  3. 在<s:iterator>标签里给动态表格添加序号
  4. 在GMIC听“移动互联网+医疗”的感受 2015-04-29
  5. IOS ID生成器
  6. elixir 高可用系列 - 目录
  7. 用C#实现RSS的生成和解析,支持RSS2.0和Atom格式
  8. ssh面试题
  9. CS小分队第一阶段冲刺站立会议(5月9日)
  10. ImageView的src和background的区别
  11. js 类似php中foreach的方法
  12. 微软AJAX解决方案
  13. Selenium webdriver 开始
  14. MyBatis学习-SQL 符号篇
  15. tp框架实现ajax注册验证
  16. 【stm32中断优先级--珍藏版】
  17. 2386:Lake Counting-poj
  18. Movavi Video Editor 15 Plus Mac怎样更改视频的分辨率?
  19. Scrapy爬虫入门
  20. ORACLE 通过连接查询更新 update select

热门文章

  1. javascript 数组之间增加某个符合arr.join('、');
  2. 《Linux就该这么学》培训笔记_ch07_RAID和LVM
  3. magic模块 :Exception Value:failed to find libmagic. Check your installation
  4. NamedParameterJdbcTemplate举例使用
  5. @AspectJ注解的value属性
  6. go 语言的一个赋值操作
  7. VisualSVN 新版本终于支持一个解决方案下多workcopy了,并解决了上个版本一个重要BUG
  8. lucene字典实现原理(转)
  9. Java学习:方法的使用与注意事项
  10. 可落地的DDD(3)-如何利用DDD进行微服务的划分