![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
一生悬命z
这个作者很懒,什么都没留下…
展开
-
Java 中的 CAS 与原子操作
CASCAS 全称 Compare And Swap,是一种通过非阻塞的方式实现乐观锁的算法。其原理为:如果待改变的变量V等于预期值(旧值)E,就将其设置为新值N。如果不等于V,则说明该变量被其他线程更新了,当前线程放弃更新。伪代码如下:boolean compareAndSwap(var v,var e,var n){ if(v == e){ v = n; return true; } else{ return false; }}CAS是一种原子操作,它是原创 2020-09-15 12:13:56 · 257 阅读 · 0 评论 -
Thread.join()源码分析
使用方式在 A 线程中调用 B 线程的join()方法,使 A 线程进入等待态,直到 B 线程运行完毕,A 线程被唤醒,继续运行。示例如下:main 线程输出*“下单”后进入等待态, cook 线程输出“厨师做饭”,执行完毕并唤醒 main 线程,然后 main 线程输出“吃饭”。如果不使用 cookThread.join() 方法,则可能会先输出“吃饭”,再输出“厨师做饭”*。public class Main { public static void main(String[] args)原创 2020-09-15 12:11:50 · 209 阅读 · 0 评论 -
线程池执行原理
ThreadPoolExecutor原创 2020-09-15 12:09:23 · 166 阅读 · 0 评论