Java理论与实践JDK50中更灵活更具可伸缩性的锁定
Java 理论与实践: JDK 5.0 中更灵活、更具可伸缩性的锁定机制
多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造 —— synchronized 和 volatile 。在简化与平台无关的并发类的开发的同时,它决没有使并发类的编写工作变得更繁琐,只是使它变得更容易了。
synchronized 快速回顾
把代码块声明为 synchronized,有两个重要后果,通常是指该代码具有 原子性(atomicity)和 可见性(visibility)。 原子性意味着一个线程一次只能执行由一个指定监控对象(lock)保护的代码,从而防止多个线程在更新共享状态时相互冲突。可见性则更为微妙;它要对付内 存缓存和编译器优化的各种反常行为。一般来说,线程以某种不必让其他线程立即可以看到的方式(不管这些线程在寄存器中、在处理器特定的缓存中,还是通过指 令重排或者其他编译器优化),不受缓存变量值的约束,但是如果开发人员使用了同步,如下面的代码所示,那么运行库将确保某一线程对变量所做的更新先于对现 有 synchronized 块所进行的更新,当进入由同一监控器(lock)保护的另一个
您可能关注的文档
最近下载
- 2023年06月国家国防科技工业局核技术支持中心社会招考聘用笔试历年难、易错考点试题含答案解析.docx
- 部编版小学语文六年级下册小升初分类复习拼音字词-(含答案).pdf VIP
- NAVTEX NCR-333中文操作说明书.pdf VIP
- 部编版小学语文六年级下册小升初拼音汉字分类复习-(含答案).docx
- 2024-2025学年湖南省益阳市高一(下)期中数学试卷【答案版】.docx VIP
- 立体停车场项目投资规划策略研究.docx VIP
- 化学人教版九年级上册课题1 质量守恒定律(第一课时).doc VIP
- 化学人教版九年级上册课题1课题1 质量守恒定律 .doc VIP
- 课题1 质量守恒定律(教学设计)九年级化学上册(人教版2024).docx VIP
- JSS-296组合电台中文操作说明书解析.doc VIP
原创力文档

文档评论(0)