- 博客(3)
- 收藏
- 关注
原创 集合的线程安全性——CopyOnWriteArrayList写时复制
常用的集合ArrayList,LinkedList,HashSet,TreeSet,HashMap,TreeMap等均为线程不安全集合。当运行以下程序时,会报java.util.ConcurrentModificationException异常public class ContinerNotSafeDemo { public static void main(String[] arg...
2019-07-19 16:38:17
780
原创 synchronized 和lock的区别
1、具体层面synchronized是java关键字jvm层面,底层是monitorenter对象来写成,其实wait/notify等方法也依赖于monitor对象只有在同步方法中才能调用wit/notify等方法;lock是具体类,是api层面的锁。2、使用方法synchronized不需要用户去手动释放,当synchronized代码完成后系统会自动让线程释放对象的占用。 Re...
2019-07-19 14:38:52
184
原创 生产者-消费者模型进阶
生产者与消费者模型是多线程环境下经典问题之一。生产者与消费者共同操作共享资源(一般用队列存储),生产者与消费者应该保证以下几点:1、同一时间内只能有一个生产者生产(生产方法加锁sychronized)2、同一时间内只能有一个消费者消费(消费方法加锁sychronized)3、生产者生产的同时消费者不能消费(生产方法加锁sychronized)4、消费者消费的同时生产者不能生产(...
2019-07-19 14:27:07
150
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人