并发
文章平均质量分 86
柳岩是个大菜鸟
菜到你崩溃
展开
-
AQS学习随笔
AQS--->AbstractQueuedSynchronizer作为并发包的奠基类,ReentrantLock等等诸多锁都基于AQS类进行开发在此之前先膜拜Doug Lea祖师爷一下,祖师爷在AQS中采用了模板设计模式,定义了锁处理的主体流程,将多个类共有的方法和功能抽取出来,封装到抽象类,对于这些公有方法(模板方法)使用final修饰,需要通过子类扩张的定义成抽象(a...原创 2020-04-15 11:14:46 · 262 阅读 · 0 评论 -
JAVA-CONCURRENCY IN PRACTICE章节一翻译
参考了很多童老师团队的翻译,自己也看英文对照,有修改章节一: 写一个正确的程序,难,写一个正确的并发程序,难上加难。相比于非并发程序(个人理解是单线程那种的),并发程序里有更多容易产生错误的地方。那么为啥我们还要这么费劲研究并发呢?因为线程Thread是java编程语言里谁都躲不掉的功能啊,而且Threads还能通过把复杂异步代码转换成直线式程序(这里应该是指换成并发运行的代码块?),...原创 2018-08-10 09:46:37 · 495 阅读 · 0 评论 -
子类继承父类,重写父类的synchronized方法,两个synchronized方法的锁对象的问题
这是java并发编程实践中有关重入概念的介绍时产生的问题public class Widget { public synchronized void doSomething() { ... } } public class LoggingWidget extends Widget { public synchronized ...原创 2018-08-15 16:58:44 · 4720 阅读 · 9 评论 -
JAVA-CONCURRENCY IN PRACTICE章节二翻译
参考了很多童老师团队的翻译,自己也看英文对照,有修改章节二 线程安全 或许会让你感到惊讶的是,在并发编程中不会过多地讨论多线程和锁,就像现实中土木工程不仅仅是铆钉和工字钢。当然要想建一个不会垮掉大桥也需要正确的使用许多铆钉和工字钢,就如同在创建一个并发编程的程序也需要合理正确使用多线程和锁机制。但这些只是机制而已--用来达到目的的手段。事实上编写多线程安全代码的核心是管理对对象状态的访...原创 2018-08-17 16:54:22 · 327 阅读 · 0 评论 -
JAVA-CONCURRENCY IN PRACTICE章节三翻译
参考了很多童老师团队的翻译,自己也看英文对照,有修改章节三 共享对象我们在第二章开始时就讲到,编写正确的并发程序的关键是管理好共享容易被改变的状态。上一章主要讲了如何用同步机制阻止多线程同时访问这些相同的变量。本章主要检验一些技巧,用于编写被多线程安全使用的共享的、公开的对象。通过使用 java.util.concurrent 中的类,这两章一同为我们创建线程的安全类和并发应用中安全构造。...原创 2018-08-30 17:56:02 · 314 阅读 · 0 评论 -
JAVA-CONCURRENCY IN PRACTICE章节四翻译
参考了很多童老师团队的翻译,自己也看英文对照,有修改章节四 组合对象迄今为止,我们讨论了线程安全和同步的一些基础内容。但是我们不希望每 次编写多线程程序的时候都要仔细分析每一个内存访问操作以确保我们的整个 程序是线程安全的(这样做也不太现实)。我们希望能够将一些线程安全组件组 合成更大的线程安全组件,从而构成整个程序。本章主要涉及那些使线程安全得以实现的类的构造方式和避免它们体内的线程安全...原创 2018-09-11 14:46:40 · 540 阅读 · 0 评论 -
并发相关:CPU的学习记录以及对应的线程建议开启数量
物理CPU 物理CPU就是计算机上实际配置的CPU个数。在linux上可以打开cat /proc/cpuinfo 来查看,其中的physical id就是每个物理CPU的ID,你能找到几个physical id就代表你的计算机实际有几个CPU。在linux下可以通过指令 grep ‘physical id’ /proc/cpuinfo | sort -u | wc -l 来查看你的物理CPU个数...原创 2018-11-23 17:16:48 · 507 阅读 · 0 评论 -
并发编程中有关CAS操作的学习记录
什么是悲观锁、乐观锁?在java语言里,总有一些名词看语义跟本不明白是啥玩意儿,也就总有部分面试官拿着这样的词来忽悠面试者,以此来找优越感,其实理解清楚了,这些词也就唬不住人了。synchronized是悲观锁,这种线程一旦得到锁,其他需要锁的线程就挂起的情况就是悲观锁。 CAS操作的就是乐观锁,每次不加锁而是假设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止。那么问题来了...原创 2018-11-19 15:22:35 · 166 阅读 · 0 评论 -
Restful风格API一些小的注意事项
对于Restful API访问的拦截有三种方式 过滤器Filter拦截器Interceptor切面Aspect 但是三者能获得的东西不一样过滤器能获得原始http请求以及响应的信息,但是拿不到真正处理请求的方法信息拦截器能获得原始http请求以及响应的信息,也能获得处理这个请求的方法的相关信息,但是获得不到调用方法时传过来的参数切面能获得调用方法时传过来的参数,...原创 2018-12-19 09:38:01 · 384 阅读 · 0 评论