电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Java同步、异步相关知识点

Java同步、异步相关知识点_第1页
1/12
Java同步、异步相关知识点_第2页
2/12
Java同步、异步相关知识点_第3页
3/12
Java 同 步 、 异 步 相 关 知 识 点 关 键 字 : java 同 步 、 异 步 相 关 知 识 点 一 、 关 键 字 : thread( 线 程 )、 thread-safe(线 程 安 全 )、 intercurrent( 并 发 的 ) synchronized(同 步 的 )、 asynchronized(异 步 的 )、 volatile( 易 变 的 )、 atomic( 原 子 的 )、 share( 共 享 ) 二 、 总 结 背 景 : 一 次 读 写 共 享 文 件 编 写 ,嚯 ,好 家 伙 ,竟 然 揪 出 这 些 零 碎 而 又 是 一 路 的 知 识 点 。于 是 乎 ,Google和 翻 阅 了 《 Java 参 考 大 全 》、《 Effective Java Second Edition》, 特 此 总 结 一 下 供 日 后 工 作学 习 参 考 。 三 、 概 念 : 1、 什 么 时 候 必 须 同 步 ? 什 么 叫 同 步 ? 如 何 同 步 ? 要 跨 线 程 维 护 正 确 的 可 见 性 , 只 要 在 几 个 线 程 之 间 共 享 非 final 变 量 , 就 必 须 使 用 synchronized( 或 volatile) 以 确 保 一 个 线 程 可 以 看 见 另 一 个 线 程 做 的 更 改 。 为 了 在 线 程 之 间 进 行 可 靠 的 通 信 , 也 为 了 互 斥 访问, 同 步 是 必 须 的 。 这 归因于 java 语言规范的 内存模型, 它规定了 : 一 个 线 程 所做 的 变 化何 时 以 及如 何 变 成对其它线 程 可 见 。 因为 多线 程 将异 步 行 为 引进 程 序, 所以 在 需要 同 步 时 , 必 须 有一 种方法强制进 行 。 例如 : 如果2 个 线 程 想要 通 信 并 且要 共 享 一 个 复杂的 数据结 构, 如 链表, 此 时 需要 确 保 它们互 不冲突,也 就 是 必 须 阻止B 线 程 在 A 线 程 读 数据的 过程 中向链表里面写 数据( A 获得了 锁, B 必 须 等A释放了 该锁)。 为 了 达到这 个 目的 , java 在 一 个 旧的 的 进 程 同 步 模型——监控器( Monitor) 的 基础上实现了 一 个 巧妙的 方案: 监控器是 一 个 控制机制, 可 以 认为 是 一 个 很小的 、 只 能容纳一 个 线 程 的盒子 , 一 旦一 个 线 程 进 入监控器, ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Java同步、异步相关知识点

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部