- 主页 > 生活百科 > >
独占模式和共享模式: 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 。
【深入理解与应用多线程技术】
推荐阅读
-
演绎|《我们的歌4》林志炫和黄霄云,对《千年之恋》的演绎,超过原唱
-
日本|2022年日本小姐冠军出炉引网友围观:这美貌你Get到了吗?
-
言车有徐|还是被欧尚截胡了?,捷途X70销量腰斩!性价比路线不灵了
-
|最近这9部超好看的热播新剧,必须推荐给大家,你正在追哪部呢?
-
相关人士|一家8口拉横幅迎接男生出考场:去乘风破浪
-
-
豹耳时尚|萧亚轩难得端庄一回,衬衫配半裙却暴露身材缺陷?
-
-
思考小天|另一次是谁?,三国仅有的两次“兄终弟及”:一次是孙策传位孙权
-
阁屋财经:海盐推出“助商贷”为2.1万商户“输血”!
-
KPL|KPL赛场上那些难忘的乌龙事件,一诺杀对手上榜,亚瑟都能上场
-
丰田|广汽丰田国产赛那疯狂加价!真实探店:不加价明年10月提车
-
旷世科技数码华为mate40支持北斗吗-支持北斗卫星导航系统吗
-
-
古代|一年不砍头,砍头吃一年,继承祖传手艺的古代刽子手工资有多高
-
-
迪丽热巴|《安乐传》群像:迪丽热巴太惊艳,6位女配却抢尽风头
-
分钟|盘点世界上手速最快的5个人,网友:简直不敢相信自己的眼睛!
-
金咕咕的时尚|刘嘉玲出海真拉风光脚穿挂脖裙似少女,身材好到让人挪不开眼
-
生产的|吉林省市场监督管理厅:33批次食品不合格 五粮原浆酒检出甜味剂