- 主页 > 生活百科 > >
独占模式和共享模式: 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 。
【深入理解与应用多线程技术】
推荐阅读
-
-
车市进言▲顶配锐际和低配冒险家怎么选?,鸡头凤尾之争
-
顾拜蛋蛋|1080P,年轻人第一款便携投影仪来了,小巧机身+长续航
-
-
「肿瘤专科医生」是否预示着到晚期了呢?,食管癌患者吃东西会反流
-
穿越火线|穿越火线《雪山突袭》发生的事情,这个版本或许说服力更高
-
芜湖新闻网|芜湖繁昌县连续10年居全省第1位,人均GDP10w+
-
中国日报|多久了,还在说“甩锅中国”那一套!美国白宫顾问遭群嘲,被骂上了热搜......
-
年报|*ST皇台:更新2017年报,2017年年度净利润约-1.18亿元,同比增加28.49%
-
卡莉时尚:为什么气场170?除了会穿,练瑜伽也有很大关系,只有162的王子文
-
-
「堂小堂」哈弗F7怎么样?“全球神车”屹立世界潮头
-
-
清朝|康熙和乾隆谁是真正的千古一帝?御前侍卫的亲身经历给出答案
-
-
消失|农村正在消失的老物件,城里人大多数没见过,有的价值十几万
-
隽北少爷|G2教练发推调侃,韩服第一也被峡谷打服了!DWG中单峡谷之巅五连败
-
全景|全民狂欢影业发布系列战略合作 打出影视作品全景发展组合拳
-
馨馨娱乐看|52岁后该何去何从?家有属猴的速看,致1968年“生肖猴”最终宿命
-
美食的眷恋■私房菜:红烧冬瓜,香辣蛤蜊,黑椒杏鲍菇牛肉粒,干锅虾