java-线程并发-缓冲器-模拟

来源:互联网 发布:java泛型有什么用 编辑:程序博客网 时间:2024/05/21 17:46

开始学习java并发,所以遇到好多不是很理解的地方,我看的是张孝祥讲的并发视频,他在并发的第12个视频中讲述了一个缓存系统的代码,收益颇多,但是我也有一些疑问与自己的见解。

张老师所依照java6 API中的ReentrantReadWriteLock,其中示例代码来重新编写他的缓冲系统,下面是API的算法截图,与张老师的代码


张老师在总结算法中优化了算法,利用finnaly来使读写锁正常释放,但是,在我认为,如果同时有三个线程读取同一数据,只能有一个线程先向数据库中找到该数据并向map中赋值,而接下来阻塞的进程,虽然不用向数据库中找到数据,但是他们的过程就只是释放锁,而没有最终读取数据,这是一个弊端。所以我的代码是这样。



0 0