【数媒在线课堂】临界区

【数媒在线课堂】临界区

也就是加锁,运行两个函数的时候都加上相同的锁,这样就保证了两个线程执行两个函数的有序性,在同步方法里只要负责 as-if-serial 即可。

Happens-Before

因为有指令重排的存在会导致难以理解 CPU 内部运行规则,JDK 用 happens-before 的概念来阐述操作之间的内存可见性。在 JMM 中,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须要存在 happens-before 关系 。其中 CPU 的 happens-before 无需任何同步手段就可以保证的。

如果一个操作 happens-before 另一个操作,那么第一个操作的执行结果将对第二个操作可见,而且第一个操作的执行顺序排在第二个操作之前。(对程序员来说)

两个操作之间存在 happens-before 关系,并不意味着 Java 平台的具体实现必须要按照 happens-before 关系指定的顺序来执行。如果重排序之后的执行结果,与按 happens-before 关系来执行的结果一致,那么这种重排序是允许的 (对编译器和处理器 来说)

happens-before 具体规则 Mark 下,以备不时之需。

程序顺序规则:一个线程中的每个操作,happens-before 于该线程中的任意后续操作。

监视器锁规则:对一个锁的解锁,happens-before 于随后对这个锁的加锁。

volatile 变量规则:对一个 volatile 域的写,happens-before 于任意后续对这个 volatile 域的读。

传递性:如果 A happens-before B,且 B happens-before C,那么 A happens-before C。

start () 规则:如果线程 A 执行操作 ThreadB.start ()(启动线程 B),那么 A 线程的 ThreadB.start () 操作 happens-before 于线程 B 中的任意操作。

join () 规则:如果线程 A 执行操作 ThreadB.join () 并成功返回,那么线程 B 中的任意操作 happens-before 于线程 A 从 ThreadB.join () 操作成功返回。7. 线程中断规则:对线程 interrupt 方法的调用 happens-before 于被中断线程的代码检测到中断事件的发生。

特别声明:[【数媒在线课堂】临界区] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

点名易烊千玺,李想仍是少年(为易烊千玺打榜)

辍学创业的初期,李想认为:“做IT资讯,既能帮到别人,又能满足兴趣,同时还能创造价值与赚到钱”,在经营理想汽车的阶段,其“移动的家”的定位,同样也是来源于李想作为五个孩子的父亲,对家庭用车的真实挖掘。《热浪…

点名易烊千玺,李想仍是少年(为易烊千玺打榜)

离异一年半再放大招,撕下汪峰最后体面,归来仍是顶流(离婚一年多再婚算早吗)

如今,距章子怡与汪峰离婚已经接近两年,章子怡再度崭露头角,用她的实力和魅力重回聚光灯下。1995年,她与16岁的高枫开始了初恋,尽管他是音乐才子,创作了《大中国》等经典作品,但由于年龄差距问题,两人的关系未…

离异一年半再放大招,撕下汪峰最后体面,归来仍是顶流(离婚一年多再婚算早吗)

《触不可及》:跨越阶层的友谊如何治愈人心(触不可及孙红雷电影免费高清观看)

这种跨越社会阶层的友谊在现实生活中并不常见,但影片通过细腻的叙事和真实的人物塑造,让观众感受到人与人之间最纯粹的情感连接。在这段友谊中,我们看到了人与人之间最纯粹的情感,也看到了生命如何在彼此的陪伴中焕发光…

《触不可及》:跨越阶层的友谊如何治愈人心(触不可及孙红雷电影免费高清观看)

ISP许可证的“全网”和“省网”有什么具体区别?

ISP许可证的 “全网” 和 “省网” 区别主要体现在业务覆盖范围和申请要求上。覆盖范围:全网许可证可在全国范围内开展互联网接入服务,无区域限制;省网许可证仅限在批准的单个省份内经营,不得跨省份开展业务。 …

ISP许可证的“全网”和“省网”有什么具体区别?

流量卡可以打电话吗?!三大运营商不会告诉你的通话真相!(不可以打电话的流量卡叫什么卡)

它们是由物联网公司从运营商批量批发物联卡(针对物联网设备的专用卡)后,换个流量大的套餐再转手卖给个人用户,通常只开通了数据流量功能,语音通话功能完全被阉割。流量卡套餐升级: 如果你对这张流量卡的通话需求确实…

流量卡可以打电话吗?!三大运营商不会告诉你的通话真相!(不可以打电话的流量卡叫什么卡)