- 主页 > 生活百科 > >
独占模式和共享模式: 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 。
【深入理解与应用多线程技术】
推荐阅读
-
正商参阅@旺旺最强对手:三兄弟凑40万创业,打造百亿巨头企业,今年入超百亿
-
-
花盆屋顶长满佛甲草,薅几棵塞进花盆里,呼呼蔓延一阳台!
-
活人|秦陵兵马俑真是用活人烧制的吗?专家给出答复:打开看看就知道了
-
轿车|6万可买自动挡,2021款宝骏510正式上市 5.38万元起
-
产业气象站|| 火星号精选,不用担心量子计算机会对区块链产生威胁,它有可能被扼杀在摇篮中
-
#生肖#5月6号开始接好运,出门遇贵人,财运红发紫,富贵如意的生肖!
-
-
-
山寨币|2020-7-11秦川说币大饼底部企稳震荡是假象还是再次反转?
-
受到异性上司(年龄差距较大)骚扰,怎样拒绝比较体面又不得罪他(工作岗位其实不错,不想辞职)
-
-
iOS14|高通正式“背叛”美国?华为再次喜从天降?外媒:终究是躲不过了
-
微波炉怎么烤披萨步骤如下,微波炉如何烤披萨的做法-
-
-
大妈用80万普拉多装白菜,车主很无奈:我心疼,但不敢说
-
四川新闻网|【地评线】太阳鸟报评|全国消防日:“要要救”(119)!致敬身边的守护者——“火焰蓝”!
-
【江苏男篮】NBA再邀易建联,阿联选择让人泪目,网友:周琦你要吗?
-
[解放军这次西沙演练]解放军这次西沙演练 为何引起特别关注?
-
小米|小米集团:合计授出300万份购股权,行权价为每股13.6港元