当前位置: 首页 > news >正文

Happen-Before从入门到踹门

什么是Happen-Before

有人翻译为"先行发生原则",其实也没错,但是更准确的说法应该是,前一个操作的值,后一个总能察觉到。


Happen-Before的八条规则

  1. 程序有序性:在前面的代码优先于在后面的代码执行

  1. volatile的变量规则:变量的写操作先于变量的读操作(同一时间,我写完你再读)

  1. 传递原则:a先于b,b先于c,a一定先于c

  1. 管程中的锁:synchronized就是利用管程实现的,后面的锁操作要等待前面的锁操作释放了才可以进行

  1. 线程的start:主线程的启动由于子线程的启动(这有点废话,就是Main线程优先于子线程启动)

  1. 线程join:等待执行完,再往下执行

  1. 中断interrupt:调用线程的interrupt方法优先于程序感知线程的中断指令

  1. 对象终结规则:对象的初始化优先于对象的finalize。


以上则是Happen-Before的所有概述,欢迎共勉。

http://www.lryc.cn/news/28634.html

相关文章:

  • 电力系统系统潮流分析【IEEE 57 节点】(Matlab代码实现)
  • Java——N皇后问题
  • Mybatis一级缓存与二级缓存
  • LQB,手打,PCF8591,ADDA转换,AD1是光敏电阻,AD3是电位器,DA输出
  • 【计组笔记06】计算机组成与原理之控制器和总线结构
  • elisp简单实例: auto-save
  • 写字楼/园区/购物中心空置率太高?快用快鲸智慧楼宇系统
  • 【JavaSE】数组的定义和使用(上)
  • 计算机的学习路线
  • TD算法超详细解释,一篇文章看透彻!
  • 4.1 路由器(华硕 官改/梅林 华为 小米 路由) 使用花生壳 实现远程管理
  • 内容算法解读:提高内容摘要与原文的一致性(Faithfulness)
  • python用openpyxl包操作xlsx文件,统计表中合作电影数目最多的两个演员
  • Lesson12---人工神经网络(1)
  • 算法练习-排序(二)
  • 202302读书笔记|《长安的荔枝》——只要肯努力,办法总比困难多
  • java封装继承多态详解
  • 【uni-app教程】UniAPP 常用组件和 常用 API 简介# 知心姐姐聊天案例
  • 阿尔法开发板 .bin 文件烧写
  • Ceres-Solver 安装与卸载ubuntu20.04
  • 汇编系列02-借助操作系统输出Hello World
  • 【2023unity游戏制作-mango的冒险】-前六章API,细节,BUG总结小结
  • 进程控制及其操作
  • Git常用命令复习笔记
  • 代码随想录算法训练营day49 | 动态规划 123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV
  • 【教学典型案例】14.课程推送页面整理-增加定时功能
  • 【算法基础】DFS BFS 进阶训练
  • GO语言中的回调函数
  • 28个案例问题分析---014课程推送页面逻辑整理--vue
  • 佛科院单片机原理2——80C51单片机结构