JAVA语言规范:线程和锁

原文链接  译者:山鸡 校对:方腾飞

(本文是Oracle 官方《Java语言规范》第十七章译文,有兴趣翻译Java语言规范的同学可以在联系我们。)

JAVA语言规范:线程和锁

概述:

前面章节的大多数讨论,都是关于通过单线程一次执行单个语句或者表达式。而JAVA虚拟机可以支持多线程同时执行。这些线程可以独立执行代码操作,而操作后所产生的值会保留在共享内存当中。单处理器和多处理器都能支持多线程,它们都是通过分配CPU时间片来执行代码。

线程由Thread类表示。用户创建线程的唯一方式是创建此类的一个对象;每个线程和这样的一个对象相关。当在相应的Thread对象上调用start()方法是,一个线程将启动。

线程的行为,特别是当不正确同步时,容易让人混淆和违反直觉。本章节描述了多线程程序的语义,它包含被多线程更新的共享内存的值是否可见的规则。为了规范不同硬件体系结构中比较相近的内存模型,这些被称为JAVA编程语言内存模型。当没有出现混淆时,我们将这些规则简称为“内存模型”。

这些语义没有指示应该如何执行多线程程序。相反,它们描述了允许多线程程序能表现出的行为。任何生成的执行策略允许的行为都是一个可接受的执行策略。

  • 同步
  • 等待集合和通知
  • 休眠和转交
  • 内存模型
  • Final字段语义
  • 字分开
  • double和 long 的非原子处理

 

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: JAVA语言规范:线程和锁

  • Trackback 关闭
  • 评论 (0)
  1. 暂无评论

return top