摘要: 1.同步容器与并发容器 同步容器 Vector、HashTable JDK提供的同步容器类 Collections.synchronizedXXX 本质是对相应的容器进行包装 同步容器类的缺点 ​ 在单独使用里面的方法的时候,可以保证线程安全,但是,复合操作需要额外加锁来保证线程安全 使用 Iter 阅读全文
posted @ 2019-05-19 22:15 城南少年与猫 阅读(388) 评论(0) 推荐(1) 编辑
摘要: 1.什么是原子类 一度认为原子是不可分割的最小单位,故原子类可以认为其操作都是不可分割 1.1 为什么要有原子类? 对多线程访问同一个变量,我们需要加锁,而锁是比较消耗性能的,JDk1.5之后, 新增的原子操作类提供了 一种用法简单、性能高效、线程安全地更新一个变量的方式, 这些类同样位于JUC包下 阅读全文
posted @ 2019-05-19 19:58 城南少年与猫 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 1.wait、notify、notifyAll 何时使用 在多线程环境下,有时候一个线程的执行,依赖于另外一个线程的某种状态的改变,这个时候,我 们就可以使用wait与notify或者notifyAll wait跟sleep的区别 wait会释放持有的锁,而sleep不会,sleep只是让线程在指定 阅读全文
posted @ 2019-05-19 14:19 城南少年与猫 阅读(288) 评论(0) 推荐(0) 编辑