Java并发编程
文章平均质量分 60
KISSING_MONSTER
朱元璋曾说,一个人最宝贵的能力,就是低谷时的涅槃重生。雪压枝头低,虽低不着泥。一朝红日出,依旧与天齐。
展开
-
JavaNIO模型
先简单总结一下IO模型:1. 阻塞IO模型工作流程:用户线程发出IO请求,cpu内核检查返回数据是否就绪,此时用户线程一直处于阻塞状态。数据就绪后,内核将数据复制到用户线程中,并返回结果。2. 非阻塞IO模型工作流程:用户线程发出IO请求,cpu内核检查返回数据是否就绪,并返回。这个时候用户线程是非阻塞的,但是会不断询问内核数据处理结果。3. 多路复用IO模型在多路复用I/O模型中,会有一个被称为Selector的线程不断轮询多个Socket的状态,只有socket有读写事件时,才会通知用户线程原创 2021-07-01 21:37:21 · 352 阅读 · 0 评论 -
AQS源码分析和原理详解
我是一个热爱技术并乐于分享的人,文章内容来源于开源大佬的分享和自己的见解,如果你感觉下面文章对你有所帮助可以帮我点赞,同时也可以留言或者加v一起交流。目录1.概念2.AbstractQueuedSynchronizer的静态内部类Node3.获取资源的方式和逻辑4.释放资源的方式和逻辑5.完整源码参考1.概念AQS就是标题的这个类的简称,中文:抽象队列同步器。抽象类:父类实现主要代码,部分方法由子类各自去实现。队列:先进先出的数据结构。同步器:同步就..原创 2020-11-13 12:18:33 · 235 阅读 · 0 评论 -
volatile和synchronized关键字详解
目录volatileSynchronized总结volatile使用场景:类变量和实例变量。作用:简单点说,如果一个字段被声明成volatile,那么Java内存模型会确保所有线程看到这个变量的值是一致的。另外,他还能禁止指令重排。那么,volatile是如何来保证可见性的呢?通过查阅资料了解得知:被volatile修饰的变量,在对其进行写操作时,编译成的汇编代码会增加如下一行指令lock addl $0×0,(%esp);这句指令执行在多核处理器会导致:将当前原创 2020-11-11 19:41:36 · 165 阅读 · 0 评论 -
Java生产者消费者模型
转https://blog.csdn.net/u013871100/article/details/82982235原创 2020-05-09 15:49:09 · 134 阅读 · 0 评论 -
Java线程池源码分析
SpringBoot目录 ·src/main/java 程序开发以及主程序入口 ·src/main/resources 配置文件 ·src/test/java 测试程序spingboot官方建议的目录:root package结构:com.example.myproject``com +- example ...原创 2020-03-03 11:49:34 · 166 阅读 · 2 评论