
多线程
文章平均质量分 72
多线程相关知识
谦风(Java)
有偿合作可加wx:13543235415
废就学,每天进步一点点
a small goal:年薪50w!!!
展开
-
记一次线程池泄露处理(自研坑)
记一次线程池泄露处理(自研还是有点坑人)原创 2024-05-17 10:48:24 · 419 阅读 · 0 评论 -
Java高并发场景(银行转账问题)
Java高并发场景(银行转账问题)分析原创 2024-05-11 14:53:44 · 2453 阅读 · 0 评论 -
锁的优化机制(偏向锁、自旋锁、轻量级锁、重量级锁)
锁的状态从低到高依次为无锁->偏向锁->轻量级锁->重量级锁,升级的过程就是从低到高,降级在一定条件也是有可能发生的,优化机制包括自适应锁、自旋锁、锁消除、锁粗化、轻量级锁和偏向锁。这边主要以synchronized、ReentrantLock两种实现方式来说明。原创 2024-01-30 12:01:52 · 2710 阅读 · 0 评论 -
synchronized 和 ReentrantLock 的区别
synchronized 和 ReentrantLock 都是 Java 中的同步机制,用于确保在多线程环境下,同一时刻只有一个线程能够访问特定的代码块、方法或对象。它们的区别在于实现方式和性能上。原创 2024-01-30 11:42:41 · 302 阅读 · 0 评论 -
CAS(多线程)
CAS的主要操作包括比较和替换,它会先比较内存中的某个位置的值是否等于预期值,如果是,则将该位置的值替换为新值;:ABA的问题指的是在CAS更新的过程中,当读取到的值是A,然后准备赋值的时候仍然是A,但是实际上有可能A的值被改成了B,然后又被改回了A,这个CAS更新的漏洞就叫做ABA。Java中有AtomicStampedReference来解决这个问题,他加入了预期标志和更新后标志两个字段,更新时不光检查值,还要检查当前的标志是否等于预期标志,全部相等的话才会更新。原创 2024-01-29 10:33:52 · 404 阅读 · 0 评论 -
CountDownLatch和CyclicBarrier的区别(简单聊聊)
需要注意的是,CyclicBarrier的同步位置是循环的,即当一组线程到达指定的位置后,它们会继续等待其他线程到达指定的位置,然后继续执行。因此,使用CyclicBarrier时需要特别注意循环次数的设置,避免死循环。(注意:若执行线程多余CyclicBarrier的容纳线程,则barrier.await()方法等待方法则不会执行,后续的执行完毕代码不会执行)也可以参考这篇博客。原创 2024-01-26 11:28:41 · 692 阅读 · 0 评论