- 主页 > 生活百科 > >
独占模式和共享模式: 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 。
【深入理解与应用多线程技术】
推荐阅读
-
TVB女星被62岁绯闻对象当众揽入怀,身家丰厚住半山豪宅养10万爱宠
-
打扮|冬季也要好好打扮自己,毛衣+阔腿裤,只加温度不减风度
-
中新经纬|百度涨5.14%,市值480.93亿美元
-
娱乐大家说说▲这几款合资SUV性价比不错,大空间高颜值还配四驱
-
-
|《信条》首批短评出炉,“特工出击”版预告曝光 9月4日内地上映
-
半月谈|一个村有101个扶贫公益岗?好举措不能变为昏招
-
-
日本|菅义伟绝对优势当选日本新首相!民众哀叹:导弹马上要来了
-
-
格格巫育儿|坐月子30天的说法呢?两者区别在哪?,为什么有产褥期42天
-
财经作者陈琦 与英特尔、英伟达云端必有一战,“千年老二”AMD的再度逆袭
-
美好历史|刘家天下还可以持续多少年?,如果没有三国最后由蜀国完成一统
-
配置一台4500元左右的 玩主流网友的台式机(最好能列出材料清单,以及建议从哪里买)谢了
-
「美股研究社」星巴克股价高空坠落,投资者该买这张“特价入场券”么?
-
明星照片|章子怡黑白武术大片曝光 光影叠加动作翩然刚劲
-
时尚萌主|再配上墨镜,简直帅呆了,唐嫣这件毛衣和短裙实在是太般配了
-
江苏省最有可能撤县设区的三座城,有一座百强县最受欢迎
-
-
爸妈盒子|担心打扰邻居,在群里做预告,业主:开个直播?,宝爸准备打孩子