并发篇
文章平均质量分 95
总以為.
这个作者很懒,什么都没留下…
展开
-
Java锁总结,synchronized&ReentrantLock深入分析
AQS就是AbstractQueuedSynchronizer抽象类,AQS其实就是JUC包下的一个基类,JUC下的很多内容都是基于AQS实现了部分功能,比如ReentrantLock,ThreadPoolExecutor,阻塞队列,CountDownLatch,Semaphore,CyclicBarrier等等都是基于AQS实现首先AQS中提供了一个由volatile修饰,并且用CAS方式修饰的int类型的state变量。原创 2024-08-30 10:21:08 · 778 阅读 · 0 评论 -
并发三大特性
可见性问题是基于CPU位置出现的,CPU处理速度非常快,相对CPU来说,去主内存获取数据这件事情太慢了,CPU提供了L1,L2,L3的三级缓存, 每次去主内存拿完数据后,就会存储到CPU的三级缓存,每次去三级缓存拿数据,效率肯定会提升这就来了问题,现在CPU都是多核,每个线程的工作内存(CPU三级缓存)都是独立的,会告知每个线程中做修改时,只改了自己的内存,没有及时的同步到主内存,导致数据不一致问题。可见性问题的代码逻辑。原创 2024-08-29 09:13:26 · 642 阅读 · 0 评论 -
线程的基础概念
什么是进程?进程是指运行中的程序。比如我们使用的钉钉,浏览器需要启动这个程序,操纵系统会给这个程序分配一定的资源(占用内存资源)什么是线程?线程是CPU调度的基本单位,每个线程执行的都是某一个进程的代码的某个片段举例子:房子与人比如现在有个100平的房子,这个方式可以看做是一个进程房子里面有人,人就可以看做成一个线程。人在房子中做一个事情,比如吃饭,学习,睡觉。这个就好像线程执行某个功能的代码。所谓进程就是线程的容器,需要线程利用进程中的一些资源。处理一个代码,指令。原创 2024-08-27 17:50:13 · 871 阅读 · 0 评论