
并发
文章平均质量分 92
会写代码的花城
大家好,我是花城、没错就是那个花城,同时我是一个正在努力靠近目标的程序员,参与了dromara社区开源项目赫兹跳动,希望大家多多支持呀,也希望自己的博客能让我们大家一起向着各自的目标靠近
展开
-
实习成长之路:关于ElasticSearch深度分页带来的思考,如何解决深度分页和跳页
ElasticSearch的深度分页带来的问题,一些思考,原创 2022-03-18 11:30:35 · 3172 阅读 · 0 评论 -
实习踩坑之路:parallelStream并发流+快速失败导致线上CPU300%的血泪史
一个小错误导致线上CPU300%,就差一点提交离职单了原创 2022-03-07 16:45:07 · 1850 阅读 · 1 评论 -
实习踩坑之路:一个诡异的SQL?PageHelper莫名多了一个Limit子句,导致SQL执行错误?
问题复现昨天晚上上线,业务上回归测试都很正常,但是就在那时,突然爆了一个SQL执行异常,告警群中看到这个SQL是这样的这怎么有两个Limit拼在一起了?是我SQL写错了么?然后我第一反应就是这个SQL写错了,但是我定位了这个Mapper文件,发现并没有这一条SQL是拼了两个limit语句的,然后在师兄提醒的情况下,认为是上个线程的(分页插件拼接的)ThreadLocal变量没有被清除,也就是说,有可能是分页插件要拼这个limit,但是还没执行到Mysql查询,报错了,这个现场的limit 1000就原创 2021-12-10 10:33:36 · 2836 阅读 · 1 评论 -
并发编程之美(1)并发编程基础二
1…9线程死锁1.9.1什么是线程死锁死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成的互相等待的现象,在无外力作用的情况下,这些线程会一直相互等待而无法继续运行下去线程A 己经持有了资源2 , 它同时还想申请资源l , 线程B 已经持有了资源l ,它同时还想申请资源2 , 所以线程l 和线程2 就因为相互等待对方已经持有的资源,而进入了死锁状态。为什么会产生死锁呢?用原书(并发编程之美)中的解释死锁的产生必须具备以下四个条件。互斥条件: 指线程对己经获取到的资源进行排它性使用, 即原创 2020-11-20 19:29:16 · 231 阅读 · 0 评论 -
并发编程之美(1)并发编程基础
第一章.并发编程线程基础1.1什么是线程线程本身不会独立存在在,它是进程的一个实体。进程是系统进行资源分配和调度的基本单位main函数启动时就是一个JVM进程,称为主线程一个进程中有多个线程,多个线程共享进程的堆和方法区资源,但是每个线程有自己的程序计数器和栈区域程序计数器是一块内存区域,用来记录线程当前要执行的指令地址那么为何要将程序计数器设计为线程私有的呢?前面说了线程是占用CPU 执行的基本单位,而CPU 一般是使用时间片轮转方式让线程轮询占用的,所以当前线程CPU 时间片用完后,要让出原创 2020-11-19 21:56:32 · 221 阅读 · 0 评论 -
JUC编程入门(高并发)
JUC编程与JUC编程相关的包一.线程和进程一个进程往往包含多个线程,至少包含一个线程java默认有几个线程?mian线程和GC线程(垃圾回收)对于java而言:Thread、Runnable、Callable一般是他们来开启进程java真的能开启线程么?java是不能开启线程的public synchronized void start() { /** * This method is not invoked for the main method thread o原创 2020-11-17 19:01:29 · 838 阅读 · 0 评论