
并发编程
向上吧,少年!
这个作者很懒,什么都没留下…
展开
-
CAS和自旋
以前不太理解CAS和自旋的关系,于是百度,这这篇博客中能找到答案:https://segmentfault.com/q/1010000021946513?utm_source=tag-newest原创 2021-04-05 21:25:58 · 246 阅读 · 0 评论 -
StampedLock
https://segmentfault.com/a/1190000015808032原创 2021-03-29 17:25:42 · 78 阅读 · 0 评论 -
volatile的底层实现
https://segmentfault.com/a/1190000037486483原创 2021-03-29 17:18:24 · 67 阅读 · 0 评论 -
AQS
AQS:https://www.cnblogs.com/waterystone/p/4920797.html原创 2021-03-29 16:49:41 · 86 阅读 · 0 评论 -
yield和join、同步异步互斥
yield()的作用是让步,它能够让当前线程从“运行状态”进入到“就绪状态”,从而让其他等待线程获取执行权,但是不能保证在当前线程调用yield()之后,其他线程就一定能获得执行权,也有可能是当前线程又回到“运行状态”继续运行。...原创 2021-02-25 15:25:58 · 172 阅读 · 0 评论 -
进程、线程、线程池的相关知识
什么是进程,什么是线程进程是资源分配的最小单位,线程是CPU调度的最小单位一个应用程序的运行就可以被看做是一个进程,而线程是运行中的实际的任务执行者。可以说,进程中包含了多个可以同时运行的线程。我们使用new Thread()来创建一个线程,在线程创建完之后,线程就进入了就绪(Runnable)状态,此时创建出来的线程进入抢占CPU资源的状态,当线程抢到了CPU的执行权之后,线程就进入了运行状态(Running),当该线程的任务执行完成之后或者是调用stop()方法之后,线程就进入了死亡状态。什么时原创 2021-02-25 12:36:11 · 123 阅读 · 0 评论 -
ThreadLocal
java.lang.ThreadLocalThreadLocal用来提供线程的本地变量,如果创建了一个ThreadLocal变量,那么访问这个变量的每个线程都会有这个变量的一个副本,在实际多线程操作的时候,操作的是自己本地内存中的变量,从而规避了线程安全问题。Thread类中有一个变量threadLocals,它是ThreadLocal内部类ThreadLocalMap类型的变量。ThreadLocalMap类似于HashMap。在默认情况下,每个线程中的threadLocals变量为null,只原创 2021-02-24 17:59:57 · 63 阅读 · 0 评论