1 场景问题# 1.1 导出数据的应用框架## 考虑这样一个实际应用:实现一个导出数据的应用框架,来让客户选择数据的导出方式,并真正执行数据导出。 在一些实际的企业应用中,一...
妈妈让我去厨房烧一锅水,准备下饺子
阻塞:水只要没烧开,我就干瞪眼看着这个锅,沧海桑田,日新月异,我自岿然不动,厨房就是我的家,烧水是我的宿命。
非阻塞:我先去我屋子里打把王者,但是每过一分钟,我都要去厨房瞅一眼,生怕时间长了,水烧干了就坏了,这样导致我游戏也心思打,果不然,又掉段了。
同步:不管是每分钟过来看一眼锅,还是寸步不离的一直看着锅,只要我不去看,我就不知道水烧好没有,浪费时间啊,一寸光阴一寸金,这锅必须发我13薪
异步:我在淘宝买了一个电水壶,只要水开了,它就发出响声,嗨呀,可以安心打王者喽,打完可以吃饺子喽~
总结:
阻塞/非阻塞:我在等你干活的时候我在干啥?
阻塞:啥也不干,死等
非阻塞:可以干别的,但也要时不时问问你的进度
同步/异步:你干完了,怎么让我知道呢?
同步:我只要不问,你就不告诉我
异步:你干完了,直接喊我过来就行
简书 占小狼转载请注明原创出处,谢谢! synchronized可以保证方法或代码块在运行时,同一时刻只有一个线程可以进入到临界区(互斥性),同时它还保证了共享变量的内存可见...
简书 占小狼转载请注明原创出处,谢谢! 前言 在java.util.concurrent.locks包中有很多Lock的实现类,常用的有ReentrantLock、ReadW...
简书 占小狼[//www.greatytc.com/users/90ab66c248e6/latest_articles]转载请注明原创出处,谢谢!如果读完觉得有收...
源码摘自jdk1.6,水平有限,难免有错,欢迎大家指出,仅当笔记留存。 AbstractCollection类直接实现Collection接口,他作为集合的顶级父类,为下面的...