Fork me on GitHub
摘要: ◆CountDownLatch◆ 假如有一个任务想要往下执行,但必须要等到其他的任务执行完毕后才可以。比如你想要买套房子,但是呢你现在手上没有钱。你得等这个月工资发了、然后年终奖发了、然后朋友借你得钱还给你了、然后再给朋友借一部分才可以买,这种场景你就可以使用CountDownLatch。 Coun 阅读全文
posted @ 2019-03-31 22:44 石玉军 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 生产者消费者模型具体来讲,就是在一个系统中,存在生产者和消费者两种角色,他们通过内存缓冲区进行通信(解耦),生产者将消费者需要的资源生产出来放到缓冲区,消费者把从缓冲区把资源拿走消费。 在这个模型中,最关键就是内存缓冲区为空的时候消费者必须等待,而内存缓冲区满的时候,生产者必须等待。其他时候就是一边 阅读全文
posted @ 2019-03-31 22:42 石玉军 阅读(119) 评论(0) 推荐(0) 编辑
摘要: ◆Fork/Jion框架可以干什么◆ 如果你要处理1万条数据,但是你的能力暂时还不够,一个简单快捷的办法就是你可以把每次只处理100条,等到处理100次之后再把所有的结果聚合起来你就处理完了这1万条数据。 Fork/Join就是是Java7提供的原生多线程并行处理框架,它的基本思想就是将大任务分割成 阅读全文
posted @ 2019-03-31 22:39 石玉军 阅读(268) 评论(0) 推荐(0) 编辑
摘要: ◆CAS的概念◆ 对于并发控制来说,使用锁是一种悲观的策略。它总是假设每次请求都会产生冲突,如果多个线程请求同一个资源,则使用锁宁可牺牲性能也要保证线程安全。而无锁则是比较乐观的看待这个问题,它会假设每次访问都没有冲突,这样就提高了效率。但是事实难料、这个冲突是避免不了的,无锁也考虑到了肯定会遇到冲 阅读全文
posted @ 2019-03-31 22:31 石玉军 阅读(197) 评论(0) 推荐(0) 编辑