JAVA语言规范:线程和锁

JAVA语言规范:线程和锁

概述:

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

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

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

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

  • 同步
  • 等待集合和通知
  • 休眠和转交
  • 内存模型
  • Final字段语义
  • 字分开
  • double和 long 的非原子处理
  • 转载自 并发编程网 - ifeve.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值