- 主页 > 生活百科 > >
独占模式和共享模式: AQS 支持独占模式和共享模式 。独占模式表示只有一个线程能够获取同步资源,如ReentrantLock 就是独占模式的同步器 。共享模式表示多个线程可以同时获取同步资源,如Semaphore 就是共享模式的同步器 。AQS 使用 acquire 和 release 方法来分别表示获取和释放同步资源 。 acquire 方法: 当线程尝试获取同步资源时,它会调用 AQS 的 acquire 方法 。acquire 方法会根据同步状态的不同情况进行处理,如果同步状态允许当前线程获取资源,则直接返回;否则,当前线程会被包装成节点并加入到等待队列中 , 然后进入自旋等待状态,直到获取到资源 。 release 方法: 当线程释放同步资源时 , 它会调用 AQS 的 release 方法 。release 方法会根据同步状态的不同情况进行处理,然后唤醒等待队列中的下一个线程,使其有机会获取资源 。 独占锁和共享锁的实现: AQS 提供了独占锁的实现方法 tryAcquire 和 tryRelease,以及共享锁的实现方法 tryAcquireShared 和 tryReleaseShared 。ReentrantLock 解析:

文章插图
图片

文章插图
图片
上下文切换
CPU上下文:CPU 寄存器,是CPU内置的容量小、但速度极快的内存 。而程序计数器,则是用来存储 CPU 正在执行的指令位置、或者即将执行的下一条指令位置 。它们都是 CPU 在运行任何任务前,必须的依赖环境 , 因此叫做
CPU上下文切换:把前一个任务的CPU上下文(也就是CPU寄存器和程序计数器)保存起来,然后加载新任务的上下文到这些寄存器和程序计数器,最后再跳转到程序计数器所指的新位置,运行新任务 。

文章插图
图片
- 分时调度:让所有的线程轮流获得CPU的使用权,并且平均分配每个线程占用的 CPU 的时间片 。
- 抢占式调度:优先让可运行池中优先级高的线程占用CPU,如果可运行池中的线程优先级相同,那么就随机选择一个线程,使其占用CPU 。处于运行状态的线程会一直运行,直至它不得不放弃 CPU 。
【深入理解与应用多线程技术】
推荐阅读
-
-
重磅!爱玛加盟“恒星伙伴计划”达成战略合作,星恒&爱玛共创豪锂新时代
-
穿搭|54岁蒋雯丽一点不服老,波点裙穿出少女感,复古短发也轻松驾驭
-
幽默搞笑段子集锦|她父母对我特不满意,幽默笑话:第一次被女友拽去她家时
-
正卫说生活|竟发明出一种奇怪的文字,康熙帝的这个儿子不一般
-
-
张凌赫|白鹿张凌赫将同床合宿录综艺,男方粉破大防,公开艾特公司辱骂
-
顶风作案野心炸裂的赵薇,罪行不止亲日辱华,如今现状大快人心
-
就【福建泉州:老太上错公交拐杖暴打司机 司机被打哭】一事,警察一般会咋处理
-
同学聚会遇前妻,得知家庭困难,借她10万,在见面,愣了
-
设计师|晒晒我最得力的15个清洁工具,房子住了5年,每天干干净净
-
ZAKER生活|满羁绊皇家女警最低前三!,云顶之弈10.14:“赌狗”烂分阵容
-
-
首席娱司令1|黄晓明懒理谣言深夜买醉,频频被传与Angelababy离婚
-
二三里资讯西安:20个常见病忌口问题,一次说清!你很可能“忌”错了
-
「黄山」7岁女孩踩凳子炒菜,照顾患癌奶奶和5岁弟弟:我要快快长大,这样就不用踩凳子
-
华为云知识计算解决方案获首批“知识图谱产品认证证书”
-
宇宇爱编发|拿“蛇环”当配饰是什么想法,戚薇不愧是时尚达人,配饰更耀眼
-
小土豆侃球|皇马最快下轮夺冠,四大皆空?巴萨不仅丢人还要丢冠军
-